1 /* 2 delaboratory - color correction utility 3 Copyright (C) 2011 Jacek Poplawski 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef _DE_GUI_H 20 #define _DE_GUI_H 21 22 class deViewModePanel; 23 class deLayerGridPanel; 24 class deLayerProcessor; 25 class deLayerFrameManager; 26 class deBaseLayer; 27 class deHistogramModePanel; 28 class deImageAreaPanel; 29 30 class deGUI 31 { 32 private: 33 deGUI(const deGUI& gui); 34 deGUI& operator =(const deGUI& gui); 35 36 deViewModePanel* viewModePanel; 37 deLayerGridPanel* layerGridPanel; 38 deHistogramModePanel* histogramModePanel; 39 deImageAreaPanel* imageAreaPanel; 40 41 public: 42 deGUI(); 43 44 virtual ~deGUI(); 45 46 void setViewModePanel(deViewModePanel* _viewModePanel); 47 void updateViewModePanelMode(); 48 void updateViewModePanelNames(); 49 50 void setLayerGridPanel(deLayerGridPanel* _panel); 51 void updateLayerGrid(); 52 53 void openLayerFrame(deBaseLayer& layer, deLayerProcessor& layerProcessor, deLayerFrameManager& layerFrameManager, int index); 54 55 void setHistogramModePanel(deHistogramModePanel* _histogramModePanel); 56 void updateHistogramMode(int channel); 57 void updateHistogramNames(); 58 59 void setImageAreaPanel(deImageAreaPanel* _imageAreaPanel); 60 void updateImageAreaSize(); 61 62 void lockSize(); 63 void unlockSize(); 64 65 66 }; 67 68 #endif 69