OTB  6.7.0
Orfeo Toolbox
mvdMaplaApplication.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 mvdMaplaApplication_h
23 #define mvdMaplaApplication_h
24 
25 //
26 // Configuration include.
28 #include "ConfigureMonteverdi.h"
29 
30 
31 /*****************************************************************************/
32 /* INCLUDE SECTION */
33 
34 //
35 // Qt includes (sorted by alphabetic order)
37 
38 //
39 // System includes (sorted by alphabetic order)
40 
41 //
42 // ITK includes (sorted by alphabetic order)
43 
44 //
45 // OTB includes (sorted by alphabetic order)
46 
47 //
48 // Monteverdi includes (sorted by alphabetic order)
49 #include "mvdI18nApplication.h"
50 
51 #include "OTBMaplaExport.h"
52 
53 /*****************************************************************************/
54 /* PRE-DECLARATION SECTION */
55 
56 //
57 // External classes pre-declaration.
58 namespace
59 {
60 }
61 
62 namespace mvd
63 {
64 class OTBApplicationsModel;
65 
66 //
67 // Class declaration.
68 
69 /*****************************************************************************/
70 /* CLASS DEFINITION SECTION */
71 
77 class OTBMapla_EXPORT MaplaApplication
78  : public I18nApplication
79 {
80 
81  /*-[ QOBJECT SECTION ]-----------------------------------------------------*/
82 
83  Q_OBJECT;
84 
85  /*-[ PUBLIC SECTION ]------------------------------------------------------*/
86 
87 //
88 // Public constants/types.
89 public:
90 
91 //
92 // Public methods.
93 public:
94 
100  MaplaApplication( QApplication* qtApp );
101 
103  ~MaplaApplication() override;
104 
105  //
106  // STATIC METHODS.
107 
112  inline
113  static const MaplaApplication* ConstInstance();
114 
119  inline
120  static MaplaApplication* Instance();
121 
124  void Foo();
125 
126  /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
127 
128 public slots:
129 
130  /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
131 
132 //
133 // Signals.
134 signals:
135 
136  /*-[ PROTECTED SECTION ]---------------------------------------------------*/
137 
138 //
139 // Protected methods.
140 protected:
141 
142 //
143 // Protected attributes.
144 protected:
145 
146  void virtual_InitializeCore() override;
147 
148  /*-[ PRIVATE SECTION ]-----------------------------------------------------*/
149 
150 //
151 // Private methods.
152 private:
153 
154 //
155 // Private attributes.
156 private:
157 
158  /*-[ PRIVATE SLOTS SECTION ]-----------------------------------------------*/
159 
160 //
161 // Slots
162 private slots:
163 };
164 
165 } // end namespace 'mvd'
166 
167 /*****************************************************************************/
168 /* INLINE SECTION */
169 
170 namespace mvd
171 {
172 
173 /*****************************************************************************/
174 inline
175 const MaplaApplication*
178 {
179  return I18nCoreApplication::ConstInstance< MaplaApplication >();
180 }
181 
182 /*****************************************************************************/
183 inline
187 {
188  return I18nCoreApplication::Instance< MaplaApplication >();
189 }
190 
191 } // end namespace 'mvd'
192 
193 #endif // maplaApplication_h
The MVD2 application (which is different from QApplication).
static MaplaApplication * Instance()
Access the non-const instance of application singleton.
static const MaplaApplication * ConstInstance()
Access the const instance of application singleton.