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