26 #ifndef __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
27 #define __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
38 #include <boost/noncopyable.hpp>
41 #include <QtCore/QObject>
42 #include <QtCore/QStringList>
43 #include <QtCore/QSettings>
44 #include <QtGui/QColor>
108 virtual void setConfigFile(
const std::string& configFileName);
115 virtual void setMsgBoxParentWidget(QWidget* w);
142 void addToolBar(
const QString&
id, QToolBar* bar);
154 void registerToolBar(
const QString&
id, QToolBar* bar);
163 QToolBar* getToolBar(
const QString&
id)
const;
170 std::vector<QToolBar*> getToolBars()
const;
177 void removeToolBar(
const QString&
id);
184 void registerMenu(QMenu* mnu);
193 QMenu* findMenu(
const QString&
id)
const;
204 QMenu* getMenu(
const QString&
id);
211 void registerMenuBar(QMenuBar* bar);
220 QMenuBar* findMenuBar(
const QString&
id)
const;
231 QMenuBar* getMenuBar(
const QString&
id)
const;
242 QAction* findAction(
const QString&
id)
const;
255 void addListener(QObject* obj);
264 void removeListener(QObject* obj);
284 virtual void initialize();
295 virtual void initializePlugins();
300 virtual void initializeProjectMenus();
309 void updateRecentProjects(
const QString& prjFile,
const QString& prjTitle);
334 virtual void finalize();
341 QSettings& getSettings();
366 const QString& getAppTitle()
const;
373 const QString& getAppIconName()
const;
380 QString getMostRecentProject()
const;
387 int getDefaultSRID()
const;
394 QColor getSelectionColor()
const;
402 QWidget* getMainWindow()
const;
442 #endif // __TERRALIB_QT_AF_INTERNAL_APPLICATIONCONTROLLER_H
bool m_initialized
A flag indicating if the controller is initialized.
QString m_appTitle
Application title.
std::string m_appDatasourcesFile
Name of the file containing datasources used.
static ApplicationController * sm_instance
There can be only one object of class Application.
The base API for TerraLib applications.
QString m_appIconThemeDir
Directory of the application icon theme.
QString m_appToolBarDefaultIconSize
Size of the tool buttons.
Project * m_project
Pointer to current project.
This class models the concept of a project for the TerraLib Application Framework.
QString m_appPluginsFile
Name of the plugins file.
QString m_appDefaultIconTheme
Name of the icon theme to be used.
std::vector< QMenuBar * > m_menuBars
Menu bars registered.
QString m_appIconName
Icon used in the application.
QStringList m_recentProjsTitles
List of the titles of the recent projects.
std::vector< QMenu * > m_menus
Menus registered.
QStringList m_recentProjs
List of the recent projects.
QString m_appOrganization
Organization name.
QColor m_selectionColor
Default selection color.
Configuration flags for the TerraLib Application Framework.
std::set< QObject * > m_applicationItems
The list of registered application items.
std::string m_appConfigFile
The application framework configuration file.
std::map< QString, QToolBar * > m_toolbars
Toolbars registered.
#define TEQTAFEXPORT
You can use this macro in order to export/import classes and functions from this module.
A base class for application events.
QString m_appName
Application name.
int m_defaultSRID
Default SRID value.
QString m_appHelpFile
Name of the help file.
QWidget * m_msgBoxParentWidget
Parent used to show message boxes.
std::string m_appUserSettingsFile
Name of the user settings file.