26 #ifndef __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
27 #define __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
44 #include <QtCore/QObject>
45 #include <QtCore/QStringList>
46 #include <QtCore/QSettings>
47 #include <QtGui/QColor>
112 virtual void setConfigFile(
const std::string& configFileName);
119 virtual void setMsgBoxParentWidget(QWidget* w);
146 void addToolBar(
const QString&
id, QToolBar* bar);
158 void registerToolBar(
const QString&
id, QToolBar* bar);
167 QToolBar* getToolBar(
const QString&
id)
const;
174 std::vector<QToolBar*> getToolBars()
const;
181 void removeToolBar(
const QString&
id);
188 void registerMenu(QMenu* mnu);
197 QMenu* findMenu(
const QString&
id)
const;
208 QMenu* getMenu(
const QString&
id);
215 void registerMenuBar(QMenuBar* bar);
224 QMenuBar* findMenuBar(
const QString&
id)
const;
235 QMenuBar* getMenuBar(
const QString&
id)
const;
246 QAction* findAction(
const QString&
id)
const;
255 QActionGroup* findActionGroup(
const QString&
id)
const;
268 void addListener(QObject* obj);
277 void removeListener(QObject* obj);
297 virtual void initialize();
308 virtual void initializePlugins();
313 virtual void initializeProjectMenus();
322 void updateRecentProjects(
const QString& prjFile,
const QString& prjTitle);
347 virtual void finalize();
354 QSettings& getSettings();
379 const QString& getAppName()
const;
386 const QString& getAppTitle()
const;
393 const QString& getAppProjectExtension()
const;
395 const QString& getAboutLogo()
const;
397 const QString& getTlibLogo()
const;
404 const QString& getAppIconName()
const;
411 const QString& getAppPluginsPath()
const;
418 QString getMostRecentProject()
const;
425 int getDefaultSRID()
const;
432 QColor getSelectionColor()
const;
435 void setSelectionColor(
const QColor& c);
442 QWidget* getMainWindow()
const;
444 void setResetTerraLibFlag(
const bool& status);
446 const QString& getUserDataDir()
const;
492 #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.
Template support for singleton pattern.
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.