26 #ifndef __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
27 #define __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
30 #include "../../common/Singleton.h"
42 #include <QtCore/QObject>
43 #include <QtCore/QStringList>
44 #include <QtCore/QSettings>
45 #include <QtGui/QColor>
110 virtual void setConfigFile(
const std::string& configFileName);
117 virtual void setMsgBoxParentWidget(QWidget* w);
144 void addToolBar(
const QString&
id, QToolBar* bar);
156 void registerToolBar(
const QString&
id, QToolBar* bar);
165 QToolBar* getToolBar(
const QString&
id)
const;
172 std::vector<QToolBar*> getToolBars()
const;
179 void removeToolBar(
const QString&
id);
186 void registerMenu(QMenu* mnu);
195 QMenu* findMenu(
const QString&
id)
const;
206 QMenu* getMenu(
const QString&
id);
213 void registerMenuBar(QMenuBar* bar);
222 QMenuBar* findMenuBar(
const QString&
id)
const;
233 QMenuBar* getMenuBar(
const QString&
id)
const;
244 QAction* findAction(
const QString&
id)
const;
253 QActionGroup* findActionGroup(
const QString&
id)
const;
266 void addListener(QObject* obj);
275 void removeListener(QObject* obj);
295 virtual void initialize();
306 virtual void initializePlugins();
311 virtual void initializeProjectMenus();
320 void updateRecentProjects(
const QString& prjFile,
const QString& prjTitle);
345 virtual void finalize();
352 QSettings& getSettings();
377 const QString& getAppName()
const;
384 const QString& getAppTitle()
const;
391 const QString& getAppProjectExtension()
const;
393 const QString& getAboutLogo()
const;
395 const QString& getTlibLogo()
const;
402 const QString& getAppIconName()
const;
409 const QString& getAppPluginsPath()
const;
416 QString getMostRecentProject()
const;
423 int getDefaultSRID()
const;
430 QColor getSelectionColor()
const;
433 void setSelectionColor(
const QColor& c);
440 QWidget* getMainWindow()
const;
442 void setResetTerraLibFlag(
const bool& status);
444 const QString& getUserDataDir()
const;
490 #endif // __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
std::string m_appUserSettingsFile
Name of the user settings file.
QStringList m_recentProjs
List of the recent projects.
std::set< QObject * > m_applicationItems
The list of registered application items.
QString m_appIconName
Icon used in the application.
A base class for application events.
QColor m_selectionColor
Default selection color.
The base API for TerraLib applications.
QStringList m_recentProjsTitles
List of the titles of the recent projects.
std::map< QString, QToolBar * > m_toolbars
Toolbars registered.
Configuration flags for the TerraLib Application Framework.
QString m_appPluginsPath
Name of the plugins path.
QString m_appTitle
Application title.
std::vector< QMenu * > m_menus
Menus registered.
Project * m_project
Pointer to current project.
QWidget * m_msgBoxParentWidget
Parent used to show message boxes.
std::string m_appConfigFile
The application framework configuration file.
QString m_appHelpFile
Name of the help file.
#define TEQTAFEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::string m_appDatasourcesFile
Name of the file containing datasources used.
QString m_appToolBarDefaultIconSize
Size of the tool buttons.
int m_defaultSRID
Default SRID value.
This class models the concept of a project for the TerraLib Application Framework.
QString m_appIconThemeDir
Directory of the application icon theme.
QString m_appDefaultIconTheme
Name of the icon theme to be used.
std::vector< QMenuBar * > m_menuBars
Menu bars registered.
QString m_appOrganization
Organization name.
bool m_initialized
A flag indicating if the controller is initialized.
QString m_appName
Application name.
QString m_appProjectExtension
Application project extension.
Template support for singleton pattern.
QString m_userDataDir
The data dir used to store data files.