32 #include <QtCore/QObject>
47 class ConnectionManager;
49 class GlobalMessaging;
52 class UniqueIDManager;
54 class UAVGadgetManager;
55 class UAVGadgetInstanceManager;
56 class IConfigurablePlugin;
58 class CORE_EXPORT
ICore :
public QObject
66 static ICore *instance();
68 virtual bool showOptionsDialog(
const QString &group = QString(),
69 const QString &page = QString(), QWidget *parent =
nullptr) = 0;
79 virtual QSettings *settings(QSettings::Scope scope = QSettings::UserScope)
const = 0;
80 virtual void readMainSettings(QSettings *qs,
bool workspaceDiffOnly =
false) = 0;
81 virtual void saveMainSettings(QSettings *qs) = 0;
84 virtual void deleteSettings() = 0;
86 virtual QString resourcePath()
const = 0;
88 virtual QMainWindow *mainWindow()
const = 0;
92 virtual IContext *currentContextObject()
const = 0;
93 virtual void addAdditionalContext(
int context) = 0;
94 virtual void removeAdditionalContext(
int context) = 0;
95 virtual bool hasContext(
int context)
const = 0;
96 virtual void addContextObject(
IContext *context) = 0;
97 virtual void removeContextObject(
IContext *context) = 0;
99 virtual void updateContext() = 0;
101 virtual void openFiles(
const QStringList &fileNames) = 0;
104 void coreAboutToOpen();
106 void saveSettingsRequested();
107 void optionsDialogRequested();
108 void coreAboutToClose();
The ICore class allows access to the different part that make up the basic functionality of the GCS...
The action manager is responsible for registration of menus and menu items and keyboard shortcuts...