te::qt::af::ApplicationController Class Reference

The base API for TerraLib applications. More...

#include <ApplicationController.h>

Inheritance diagram for te::qt::af::ApplicationController:

Signals

void triggered (te::qt::af::evt::Event *)
 Send events in broadcast for all registered components. More...
 

Public Member Functions

void addListener (QObject *obj, const ListenerType &type=BOTH)
 Insert an application item that will listen to framework events. More...
 
 ApplicationController ()
 Constructor. More...
 
virtual void finalize ()
 Finalize the application framework. More...
 
virtual void finalizePlugins ()
 
const QString & getAboutLogo () const
 Returns the application project extension. More...
 
const QString & getAppIconName () const
 Returns the application icon. More...
 
const QString & getAppName () const
 Returns the application name. More...
 
const QString & getAppPluginsPath () const
 Returns the plugins file path of application. More...
 
const QString & getAppTitle () const
 Returns the application title. More...
 
const QString & getAppVersion () const
 Returns the application version. More...
 
int getDefaultSRID () const
 Returns the most recent project. More...
 
QWidget * getMainWindow () const
 Returns main window. More...
 
QColor getSelectionColor () const
 Returns the application selection color. More...
 
QSettings & getSettings ()
 Return the QSettings of the application. This can be used to add settings from external sources. More...
 
const QString & getTlibLogo () const
 
const QString & getUserDataDir () const
 
virtual void initialize ()
 Initializes the application framework. More...
 
virtual void initializePlugins ()
 Load the plugin list and initialize the plugins enabled by the user. More...
 
void removeListener (QObject *obj)
 Remove the obj from the list of event listeners. More...
 
virtual void setConfigFile (const std::string &configFileName)
 Tells wich configuration file to be used by the controller during its initialization. More...
 
virtual void setMsgBoxParentWidget (QWidget *w)
 Tells the widget to be used as the parent of messages showned in a QMessageBox. More...
 
void setResetTerraLibFlag (const bool &status)
 
void setSelectionColor (const QColor &c)
 Sets the application selection color. More...
 
void trigger (te::qt::af::evt::Event *)
 
virtual ~ApplicationController ()
 Destructor. More...
 
Menus and Menubars Management.

Register and recover menus and menu bars.

The methods find will returns a valid object only if it exists in some menu, otherwise the return will be a NULL pointer. The methods get ALWAYS returns a valid pointer. If the requested menu or menubar does not exists these funtions will create, register and return the object.

Note
The identifiers of the menus are the texts presented by menus.
The search for menus will occurs in ALL OF THE REGISTERED menus and menu bars, including submenus. The correct sintaxe for searchies submenus may be found in the documentation of the findMenu(QString mnuText, QMenu* mnu) method.
void addToolBar (const QString &id, QToolBar *bar)
 Register the toolbar in the list of the known toolbars and dispatch an event. More...
 
void registerToolBar (const QString &id, QToolBar *bar)
 Register the toolbar in the list of the known toolbars. More...
 
QToolBar * getToolBar (const QString &id) const
 Return the toolbar identified by id or NULL if none is found. More...
 
std::vector< QToolBar * > getToolBars () const
 Return the list of registered toolbars. More...
 
void removeToolBar (const QString &id)
 Removes the toolbar identified by id. More...
 
void registerMenu (QMenu *mnu)
 Register the mnu. More...
 
QMenu * findMenu (const QString &id) const
 Returns the menu registered with key id. More...
 
QMenu * getMenu (const QString &id)
 Returns a menu registered with key id. More...
 
void registerMenuBar (QMenuBar *bar)
 Register the bar. More...
 
QMenuBar * findMenuBar (const QString &id) const
 Returns the menu bar registered with key id. More...
 
QMenuBar * getMenuBar (const QString &id) const
 Returns a menu bar registered with key id. More...
 
QAction * findAction (const QString &id) const
 Returns the action identified by id or NULL if there's not an action identified by id. More...
 
QActionGroup * findActionGroup (const QString &id) const
 Returns the action group identified by id or NULL if there's not an action group identified by id. More...
 

Protected Attributes

QString m_aboutLogo
 
std::string m_appConfigFile
 The application framework configuration file. More...
 
std::string m_appDatasourcesFile
 Name of the file containing datasources used. More...
 
QString m_appDefaultIconTheme
 Name of the icon theme to be used. More...
 
QString m_appHelpFile
 Name of the help file. More...
 
QString m_appIconName
 Icon used in the application. More...
 
QString m_appIconThemeDir
 Directory of the application icon theme. More...
 
std::set< QObject * > m_applicationItems
 The list of registered application items. More...
 
QString m_appName
 Application name. More...
 
QString m_appOrganization
 Organization name. More...
 
QString m_appPluginsPath
 Name of the plugins path. More...
 
QSettings m_appSettings
 
QString m_appTitle
 Application title. More...
 
QString m_appToolBarDefaultIconSize
 Size of the tool buttons. More...
 
std::string m_appUserSettingsFile
 Name of the user settings file. More...
 
QString m_appVersion
 The application version. More...
 
int m_defaultSRID
 Default SRID value. More...
 
bool m_initialized
 A flag indicating if the controller is initialized. More...
 
std::vector< QMenuBar * > m_menuBars
 Menu bars registered. More...
 
std::vector< QMenu * > m_menus
 Menus registered. More...
 
QWidget * m_msgBoxParentWidget
 Parent used to show message boxes. More...
 
bool m_resetTerralib
 
QColor m_selectionColor
 Default selection color. More...
 
QString m_tLibLogo
 
std::map< QString, QToolBar * > m_toolbars
 Toolbars registered. More...
 
QString m_userDataDir
 The data dir used to store data files. More...
 

Related Functions

(Note that these are not member functions.)

QMenu * findMenu
 

Detailed Description

The base API for TerraLib applications.

Note
Temporally this class is a singleton!

Definition at line 85 of file ApplicationController.h.

Constructor & Destructor Documentation

◆ ApplicationController()

te::qt::af::ApplicationController::ApplicationController ( )

Constructor.

Parameters
parentThe parent object.

◆ ~ApplicationController()

virtual te::qt::af::ApplicationController::~ApplicationController ( )
virtual

Destructor.

Member Function Documentation

◆ addListener()

void te::qt::af::ApplicationController::addListener ( QObject *  obj,
const ListenerType type = BOTH 
)

Insert an application item that will listen to framework events.

Parameters
objThe application item that will listen to framework events.
Note
The obj MUST HAVE AN IMPLEMENTATION of the slot onApplicationTriggered(Event*). If it hasn't, a warning will be sent at run-time.
If the obj was previously registered, nothing will be done.

◆ addToolBar()

void te::qt::af::ApplicationController::addToolBar ( const QString &  id,
QToolBar *  bar 
)

Register the toolbar in the list of the known toolbars and dispatch an event.

Parameters
idThe toolbar identification string.
barThe toolbar to be registered. The controller will not take the bar ownership.

An event will be broadcasted to indicate that the toolbar was appended.

Exceptions
ExceptionIt throws an exception if a toolbar with the given id already exists.

◆ finalize()

virtual void te::qt::af::ApplicationController::finalize ( )
virtual

Finalize the application framework.

This method will unload all TerraLib modules, plugins, and dynamic libraries that are loaded.

Note
Make sure that the application calls this method BEFORE it finishes.

◆ finalizePlugins()

virtual void te::qt::af::ApplicationController::finalizePlugins ( )
virtual

◆ findAction()

QAction* te::qt::af::ApplicationController::findAction ( const QString &  id) const

Returns the action identified by id or NULL if there's not an action identified by id.

Parameters
idIdentifier if the action.
Returns
QAction identified or NULL if could not find one.
Note
There's a rule to determine id. The text of menus and submenus separated by '.' character.

◆ findActionGroup()

QActionGroup* te::qt::af::ApplicationController::findActionGroup ( const QString &  id) const

Returns the action group identified by id or NULL if there's not an action group identified by id.

Parameters
idIdentifier of the action group.
Returns
QActionGroup identified or NULL if could not find one.

◆ findMenu()

QMenu* te::qt::af::ApplicationController::findMenu ( const QString &  id) const

Returns the menu registered with key id.

Parameters
idIndentifier of the menu.
Returns
Menu registered or NULL with there is not one registered with the key id.

◆ findMenuBar()

QMenuBar* te::qt::af::ApplicationController::findMenuBar ( const QString &  id) const

Returns the menu bar registered with key id.

Parameters
idIndentifier of the menu bar.
Returns
Menu bar registered or NULL with there is not one registered with the key id.

◆ getAboutLogo()

const QString& te::qt::af::ApplicationController::getAboutLogo ( ) const

Returns the application project extension.

Returns
Application project extension.

◆ getAppIconName()

const QString& te::qt::af::ApplicationController::getAppIconName ( ) const

Returns the application icon.

Returns
Application icon.

◆ getAppName()

const QString& te::qt::af::ApplicationController::getAppName ( ) const

Returns the application name.

Returns
Application name.

◆ getAppPluginsPath()

const QString& te::qt::af::ApplicationController::getAppPluginsPath ( ) const

Returns the plugins file path of application.

Returns
A path of plugins file.

◆ getAppTitle()

const QString& te::qt::af::ApplicationController::getAppTitle ( ) const

Returns the application title.

Returns
Application title.

◆ getAppVersion()

const QString& te::qt::af::ApplicationController::getAppVersion ( ) const

Returns the application version.

Returns
Application version.

◆ getDefaultSRID()

int te::qt::af::ApplicationController::getDefaultSRID ( ) const

Returns the most recent project.

Returns
Application most recent opened project.

Returns the application default SRID value.

Returns
Application default SRID value.

◆ getMainWindow()

QWidget* te::qt::af::ApplicationController::getMainWindow ( ) const

Returns main window.

Returns
The main window pointer.

◆ getMenu()

QMenu* te::qt::af::ApplicationController::getMenu ( const QString &  id)

Returns a menu registered with key id.

Parameters
idIdentifier of menu to be searched.
Returns
The menu registered with the id identifier.
Note
If the menu does not exists, then this function will create it.

◆ getMenuBar()

QMenuBar* te::qt::af::ApplicationController::getMenuBar ( const QString &  id) const

Returns a menu bar registered with key id.

Parameters
idIdentifier of menu bar to be searched.
Returns
The menu bar registered with the id identifier.
Note
If the menu bar does not exists, then this function will create it.

◆ getSelectionColor()

QColor te::qt::af::ApplicationController::getSelectionColor ( ) const

Returns the application selection color.

Returns
Application selection color.

◆ getSettings()

QSettings& te::qt::af::ApplicationController::getSettings ( )

Return the QSettings of the application. This can be used to add settings from external sources.

Returns
QSettings being used.

◆ getTlibLogo()

const QString& te::qt::af::ApplicationController::getTlibLogo ( ) const

◆ getToolBar()

QToolBar* te::qt::af::ApplicationController::getToolBar ( const QString &  id) const

Return the toolbar identified by id or NULL if none is found.

Parameters
idThe toolbar identification string.
Returns
A toolbar identified by id or NULL if none is found.

◆ getToolBars()

std::vector<QToolBar*> te::qt::af::ApplicationController::getToolBars ( ) const

Return the list of registered toolbars.

Returns
List of registered ToolBars.

◆ getUserDataDir()

const QString& te::qt::af::ApplicationController::getUserDataDir ( ) const

◆ initialize()

virtual void te::qt::af::ApplicationController::initialize ( )
virtual

Initializes the application framework.

The initialization will read the following configurations files (in order):

  • A main config file, generally called config.xml
  • A user settings file, generally called user_settings.xml<li>

It will start by initializing the available TerraLib modules. This means that applications that uses the application framework, does not need to call TerraLib initialization (TerraLib::getInstance().initialize()) and finalization methods (TerraLib::getInstance().finalize()).

Exceptions
ExceptionIt throws an exception if the initialization fails.
Note
Make sure that the application calls this method BEFORE it uses any TerraLib modules or functions.

◆ initializePlugins()

virtual void te::qt::af::ApplicationController::initializePlugins ( )
virtual

Load the plugin list and initialize the plugins enabled by the user.

The plugin initialization will read a file containing a list of plugins with their addresses. This file is generally called application_plugins.xml.

Precondition
The application must assure that any resource needed by their plugins are ready for use. This means that initialize should be called before initializing the plugins.

◆ registerMenu()

void te::qt::af::ApplicationController::registerMenu ( QMenu *  mnu)

Register the mnu.

Parameters
mnuPointer to the menu to be registered.

◆ registerMenuBar()

void te::qt::af::ApplicationController::registerMenuBar ( QMenuBar *  bar)

Register the bar.

Parameters
barPointer to the menu bar to be registered.

◆ registerToolBar()

void te::qt::af::ApplicationController::registerToolBar ( const QString &  id,
QToolBar *  bar 
)

Register the toolbar in the list of the known toolbars.

Parameters
idThe toolbar identification string.
barThe toolbar to be registered. The controller will not take the bar ownership.
Exceptions
ExceptionIt throws an exception if a toolbar with the given id already exists.

◆ removeListener()

void te::qt::af::ApplicationController::removeListener ( QObject *  obj)

Remove the obj from the list of event listeners.

Parameters
objThe application item to be removed.
Note
If the obj was not previously registered, nothing will be done.

◆ removeToolBar()

void te::qt::af::ApplicationController::removeToolBar ( const QString &  id)

Removes the toolbar identified by id.

Parameters
idIdentifier of the tool bar.

◆ setConfigFile()

virtual void te::qt::af::ApplicationController::setConfigFile ( const std::string &  configFileName)
virtual

Tells wich configuration file to be used by the controller during its initialization.

Parameters
configFileNameThe configuration file name with full path.

◆ setMsgBoxParentWidget()

virtual void te::qt::af::ApplicationController::setMsgBoxParentWidget ( QWidget *  w)
virtual

Tells the widget to be used as the parent of messages showned in a QMessageBox.

Parameters
wThe widget to be used as the parent of messages showned in a QMessageBox.

◆ setResetTerraLibFlag()

void te::qt::af::ApplicationController::setResetTerraLibFlag ( const bool &  status)

◆ setSelectionColor()

void te::qt::af::ApplicationController::setSelectionColor ( const QColor &  c)

Sets the application selection color.

◆ trigger()

void te::qt::af::ApplicationController::trigger ( te::qt::af::evt::Event )

◆ triggered

void te::qt::af::ApplicationController::triggered ( te::qt::af::evt::Event )
signal

Send events in broadcast for all registered components.

Parameters
evtEvent to be sent.

Signal emmited to the aplication framework listeners.

Friends And Related Function Documentation

◆ findMenu()

QMenu * te::qt::widgets::findMenu ( const QString &  mnuText,
QMenuBar *  bar 
)
related

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

The difference for the above function is that this will search in all QMenu objects contained in the bar.

Member Data Documentation

◆ m_aboutLogo

QString te::qt::af::ApplicationController::m_aboutLogo
protected

Definition at line 440 of file ApplicationController.h.

◆ m_appConfigFile

std::string te::qt::af::ApplicationController::m_appConfigFile
protected

The application framework configuration file.

Definition at line 433 of file ApplicationController.h.

◆ m_appDatasourcesFile

std::string te::qt::af::ApplicationController::m_appDatasourcesFile
protected

Name of the file containing datasources used.

Definition at line 448 of file ApplicationController.h.

◆ m_appDefaultIconTheme

QString te::qt::af::ApplicationController::m_appDefaultIconTheme
protected

Name of the icon theme to be used.

Definition at line 446 of file ApplicationController.h.

◆ m_appHelpFile

QString te::qt::af::ApplicationController::m_appHelpFile
protected

Name of the help file.

Definition at line 444 of file ApplicationController.h.

◆ m_appIconName

QString te::qt::af::ApplicationController::m_appIconName
protected

Icon used in the application.

Definition at line 439 of file ApplicationController.h.

◆ m_appIconThemeDir

QString te::qt::af::ApplicationController::m_appIconThemeDir
protected

Directory of the application icon theme.

Definition at line 445 of file ApplicationController.h.

◆ m_applicationItems

std::set<QObject*> te::qt::af::ApplicationController::m_applicationItems
protected

The list of registered application items.

Definition at line 431 of file ApplicationController.h.

◆ m_appName

QString te::qt::af::ApplicationController::m_appName
protected

Application name.

Definition at line 436 of file ApplicationController.h.

◆ m_appOrganization

QString te::qt::af::ApplicationController::m_appOrganization
protected

Organization name.

Definition at line 435 of file ApplicationController.h.

◆ m_appPluginsPath

QString te::qt::af::ApplicationController::m_appPluginsPath
protected

Name of the plugins path.

Definition at line 443 of file ApplicationController.h.

◆ m_appSettings

QSettings te::qt::af::ApplicationController::m_appSettings
protected

Definition at line 454 of file ApplicationController.h.

◆ m_appTitle

QString te::qt::af::ApplicationController::m_appTitle
protected

Application title.

Definition at line 437 of file ApplicationController.h.

◆ m_appToolBarDefaultIconSize

QString te::qt::af::ApplicationController::m_appToolBarDefaultIconSize
protected

Size of the tool buttons.

Definition at line 447 of file ApplicationController.h.

◆ m_appUserSettingsFile

std::string te::qt::af::ApplicationController::m_appUserSettingsFile
protected

Name of the user settings file.

Definition at line 442 of file ApplicationController.h.

◆ m_appVersion

QString te::qt::af::ApplicationController::m_appVersion
protected

The application version.

Definition at line 438 of file ApplicationController.h.

◆ m_defaultSRID

int te::qt::af::ApplicationController::m_defaultSRID
protected

Default SRID value.

Definition at line 449 of file ApplicationController.h.

◆ m_initialized

bool te::qt::af::ApplicationController::m_initialized
protected

A flag indicating if the controller is initialized.

Definition at line 452 of file ApplicationController.h.

◆ m_menuBars

std::vector<QMenuBar*> te::qt::af::ApplicationController::m_menuBars
protected

Menu bars registered.

Definition at line 430 of file ApplicationController.h.

◆ m_menus

std::vector<QMenu*> te::qt::af::ApplicationController::m_menus
protected

Menus registered.

Definition at line 429 of file ApplicationController.h.

◆ m_msgBoxParentWidget

QWidget* te::qt::af::ApplicationController::m_msgBoxParentWidget
protected

Parent used to show message boxes.

Definition at line 432 of file ApplicationController.h.

◆ m_resetTerralib

bool te::qt::af::ApplicationController::m_resetTerralib
protected

Definition at line 456 of file ApplicationController.h.

◆ m_selectionColor

QColor te::qt::af::ApplicationController::m_selectionColor
protected

Default selection color.

Definition at line 450 of file ApplicationController.h.

◆ m_tLibLogo

QString te::qt::af::ApplicationController::m_tLibLogo
protected

Definition at line 441 of file ApplicationController.h.

◆ m_toolbars

std::map<QString, QToolBar*> te::qt::af::ApplicationController::m_toolbars
protected

Toolbars registered.

Definition at line 428 of file ApplicationController.h.

◆ m_userDataDir

QString te::qt::af::ApplicationController::m_userDataDir
protected

The data dir used to store data files.

Definition at line 434 of file ApplicationController.h.


The documentation for this class was generated from the following files: