LibEngsas
epart.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 - 2012 EngSaS - Engineering Solutions and Services Langenbach. All rights reserved.
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17  MA 02110-1301 USA.
18 */
19 
20 #ifndef EPART_H
21 #define EPART_H
22 
23 #include "eglobal.h"
24 #include "eobject.h"
25 
26 #include "ehelpcenter.h"
27 #include "eversion.h"
28 
29 class ESettingsModelItem;
30 class EDependencyItem;
31 class ECmdLineArgs;
32 
33 #include <QImage>
34 #include <QUrl>
35 
36 class QFile;
37 class QMenu;
38 class QAction;
39 class QToolBar;
40 class QDockWidget;
41 
48 #define EPART_LIBENGSAS_VERSION \
49 public: \
50  inline QString libEngsasVersion() const { return QString(ENGSAS_VERSION_STRING); }; \
51 private:
52 
106 class E_CORE_EXPORT EPart : public EObject {
107  public:
112  {
113  Exit,
118  Successful
119  };
120 
129  virtual QString translationDir() const = 0;
138  virtual QString resourceDir() const = 0;
144  virtual EngSaS::CmdLineOptions cmdLineArgs() const = 0;
163  virtual InitState init(ECmdLineArgs *args, bool standalone = false) = 0;
169  virtual QString name() const = 0;
175  virtual QString shortName() const = 0;
180  virtual QImage icon() const = 0;
184  virtual QString helpDescription() const = 0;
188  virtual QString description() const = 0;
194  virtual QUrl website() const = 0;
198  virtual QString versionString() const = 0;
207  virtual QString libEngsasVersion() const = 0;
214  virtual EHelpCenterSetup helpSetup() = 0;
219  virtual EDependencyItem *dependencies() = 0;
223  virtual EngSaS::SetupWizardObjects setupWizardObjects() = 0;
234  virtual EngSaS::AboutPersons aboutPersons() = 0;
241  virtual ESettingsModelItem *settingsModelItem() = 0;
242 
243  public slots:
247  virtual void show() = 0;
248 
249  signals:
250  virtual void showSetupWizard() = 0;
251 };
252 
253 #if QT_VERSION >= 0x050000
254 #define LibEngsasEPartIID "de.engsas.libengsas.EPart"
255 Q_DECLARE_INTERFACE(EPart, LibEngsasEPartIID)
256 #else
257 Q_DECLARE_INTERFACE ( EPart, "LibEngsas.EPart/0.1.1" );
258 #endif
259 
260 #endif // EPART_H