OTB  6.7.0
Orfeo Toolbox
mvdMaplaMainWindow.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 
22 #ifndef mvdMaplaMainWindow_h
23 #define mvdMaplaMainWindow_h
24 
25 //
26 // Configuration include.
28 #include "ConfigureMonteverdi.h"
29 
30 /*****************************************************************************/
31 /* INCLUDE SECTION */
32 
33 //
34 // Qt includes (sorted by alphabetic order)
36 
37 //
38 // System includes (sorted by alphabetic order)
39 
40 //
41 // ITK includes (sorted by alphabetic order)
42 
43 //
44 // OTB includes (sorted by alphabetic order)
45 
46 //
47 // Monteverdi includes (sorted by alphabetic order)
48 #include "mvdTypes.h"
49 //
50 #include "mvdI18nMainWindow.h"
51 
52 #include "OTBMaplaExport.h"
53 
54 /*****************************************************************************/
55 /* PRE-DECLARATION SECTION */
56 
57 //
58 // External class pre-declaration.
59 namespace
60 {
61 }
62 
63 namespace mvd
64 {
65 //
66 // Internal class pre-declaration.
67 // Core
68 // Gui
69 class ApplicationsToolBoxController;
70 
71 namespace Ui
72 {
73 class MaplaMainWindow;
74 }
75 
76 /*****************************************************************************/
77 /* CLASS DEFINITION SECTION */
78 
86 class OTBMapla_EXPORT MaplaMainWindow
87  : public I18nMainWindow
88 {
89 
90  /*-[ QOBJECT SECTION ]-----------------------------------------------------*/
91 
92  Q_OBJECT;
93 
94  /*-[ PUBLIC SECTION ]------------------------------------------------------*/
95 
96 //
97 // Public types.
98 public:
99 
100 //
101 // Public methods.
102 public:
104  MaplaMainWindow( QWidget* Parent =0, Qt::WindowFlags flags =0 );
105 
107  ~MaplaMainWindow() override;
108 
109  /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
110 
111 //
112 // SIGNALS.
113 signals:
114 
115  /*-[ PROTECTED SECTION ]---------------------------------------------------*/
116 
117 //
118 // Protected methods.
119 protected:
120 
121  //
122  // QMainWindow methods.
123 
124  void closeEvent( QCloseEvent* event ) override;
125 
126 //
127 // Protected attributes.
128 protected:
129 
130  /*-[ PROTECTED SLOTS SECTION ]---------------------------------------------*/
131 
132 //
133 // Protected slots.
134 protected slots:
135 
138  void OnAboutToChangeModel( const AbstractModel* ) override;
139 
142  void OnModelChanged( AbstractModel* ) override;
143 
146  void OnApplicationToLaunchSelected( const QString & name );
147 
150 #if 0
151  void OnOTBApplicationOutputImageChanged( const QString & name,
152  const QString & filename);
153 #endif
154 
157  void OnExecutionDone( int status );
158 
159  /*-[ PRIVATE SECTION ]-----------------------------------------------------*/
160 
161 //
162 // Private types.
163 private:
164 
165 
166 //
167 // Private methods.
168 private:
169 
172  void InitializeDockWidgets();
173 
176  void InitializeCentralWidget();
177 
178  //
179  // I18nMainWindow methods.
180 
181  void virtual_SetupUI() override;
182 
183  void virtual_ConnectUI() override;
184 
185 //
186 // Private attributes.
187 private:
191  Ui::MaplaMainWindow* m_UI;
192 
193 #ifdef OTB_USE_QT
194 
197  ApplicationsToolBoxController * m_ApplicationsToolBoxController;
198 #endif
199 
200  /*-[ PRIVATE SLOTS SECTION ]-----------------------------------------------*/
201 
202 //
203 // Private slots.
204 private slots:
209  void on_action_Preferences_triggered();
210 };
211 
212 } // end namespace 'mvd'
213 
214 /*****************************************************************************/
215 /* INLINE SECTION */
216 
217 //
218 // System includes (sorted by alphabetic order)
219 
220 //
221 // ITK includes (sorted by alphabetic order)
222 
223 //
224 // OTB includes (sorted by alphabetic order)
225 
226 //
227 // Monteverdi includes (sorted by alphabetic order)
228 #include "mvdImageViewWidget.h"
229 
230 //
231 // Some constants.
232 
233 namespace mvd
234 {
235 
236 } // end namespace 'mvd'
237 
238 #endif // maplaMainWindow_h
The application main-widow widget.
Ui::MaplaMainWindow * m_UI
uic generated.
Main-window widget base for the i18n application.
Color-setup widget controller for VectorImageModel objects.