Base implementation of the module in the CAM application architecture. More...
#include <CAM_Module.h>
Public Slots | |
virtual bool | activateModule (SUIT_Study *) |
Activate module. More... | |
virtual bool | deactivateModule (SUIT_Study *) |
Deactivate module. More... | |
virtual void | connectToStudy (CAM_Study *) |
Connect data model of the module to the active study. More... | |
virtual void | studyClosed (SUIT_Study *) |
Called when study is closed. More... | |
virtual void | studyChanged (SUIT_Study *, SUIT_Study *) |
Called when study is changed (obsolete). More... | |
virtual void | onApplicationClosed (SUIT_Application *) |
Called when application is closed. More... | |
Public Member Functions | |
CAM_Module () | |
Default constructor. More... | |
CAM_Module (const QString &) | |
Constructor. More... | |
virtual | ~CAM_Module () |
Destructor. More... | |
virtual void | initialize (CAM_Application *) |
Initialize module. More... | |
QString | name () const |
Get module (internal) name. More... | |
QString | moduleName () const |
Get module title (user name) More... | |
virtual QPixmap | moduleIcon () const |
Get module icon. More... | |
virtual QString | iconName () const |
Get module icon's name. More... | |
CAM_DataModel * | dataModel () const |
Get data model. More... | |
CAM_Application * | application () const |
Get application. More... | |
virtual void | contextMenuPopup (const QString &, QMenu *, QString &) |
Create context popup menu. More... | |
virtual void | updateCommandsStatus () |
Update menu/toolbar actions. More... | |
virtual void | putInfo (const QString &, const int=-1) |
Put the text message into the status bar of the application main window. More... | |
bool | isActiveModule () const |
Check if the module is active. More... | |
virtual void | setMenuShown (const bool) |
Show/hide all module's menus. More... | |
void | setMenuShown (QAction *, const bool) |
Show/hide specified menu item. More... | |
void | setMenuShown (const int, const bool) |
Show/hide specified menu item. More... | |
virtual void | setToolShown (const bool) |
Show/hide all module's toolbars. More... | |
void | setToolShown (QAction *, const bool) |
Show/hide specified toolbar item. More... | |
void | setToolShown (const int, const bool) |
Show/hide specified toolbar item. More... | |
virtual void | updateModuleVisibilityState () |
Update visibility state of the module objects. More... | |
virtual bool | activateOperation (int actionId) |
Activate GUI operation of module by its ID. This method is called from CAM_Application::startOperation(). More... | |
virtual bool | activateOperation (const QString &actionId) |
Activate GUI operation of module by its ID. This method is called from CAM_Application::startOperation(). More... | |
virtual bool | activateOperation (const QString &actionId, const QString &pluginName) |
Activate GUI operation of module by its ID and pluginName. This method is called from CAM_Application::startOperation(). More... | |
QtxActionMenuMgr * | menuMgr () const |
Get menu manager. More... | |
QtxActionToolMgr * | toolMgr () const |
Get toolbar manager. More... | |
virtual QAction * | action (const int) const |
Get action by specified id. More... | |
virtual int | actionId (const QAction *) const |
Get action ID. More... | |
virtual QAction * | createAction (const int, const QString &, const QIcon &, const QString &, const QString &, const int, QObject *=0, const bool=false, QObject *=0, const char *=0, const QString &=QString()) |
Create new instance of QtxAction and register action with specified id. More... | |
virtual QAction * | createAction (const int, const QString &, const QIcon &, const QString &, const QString &, const QKeySequence &, QObject *=0, const bool=false, QObject *=0, const char *=0, const QString &=QString()) |
Create new instance of QtxAction and register action with specified id. More... | |
QtxActionGroup * | createActionGroup (const int, const bool=true) |
Create new action group. More... | |
int | createTool (const QString &, const QString &=QString()) |
Create toolbar with speicifed name. More... | |
int | createTool (const int, const int, const int=-1) |
Add toolbar item. More... | |
int | createTool (const int, const QString &, const int=-1) |
Add toolbar item. More... | |
int | createTool (QAction *, const int, const int=-1, const int=-1) |
Add toolbar item. More... | |
int | createTool (QAction *, const QString &, const int=-1, const int=-1) |
Add toolbar item. More... | |
int | createMenu (const QString &, const int, const int=-1, const int=-1, const int=-1, QMenu *=0) |
Create menu or submenu. More... | |
int | createMenu (const QString &, const QString &, const int=-1, const int=-1, const int=-1) |
Create menu or submenu. More... | |
int | createMenu (const int, const int, const int=-1, const int=-1) |
Add menu item. More... | |
int | createMenu (const int, const QString &, const int=-1, const int=-1) |
Add menu item. More... | |
int | createMenu (QAction *, const int, const int=-1, const int=-1, const int=-1) |
Add menu item. More... | |
int | createMenu (QAction *, const QString &, const int=-1, const int=-1, const int=-1) |
Add menu item. More... | |
Static Public Member Functions | |
static QAction * | separator () |
Create separator action. More... | |
Protected Member Functions | |
virtual bool | isSelectionCompatible () |
If return false, selection will be cleared at module activation. More... | |
virtual CAM_DataModel * | createDataModel () |
Create data model. More... | |
void | setName (const QString &) |
Set module (internal) name. More... | |
virtual void | setModuleName (const QString &) |
Set module title (user name) More... | |
int | registerAction (const int, QAction *) |
Register action in the internal action map. More... | |
bool | unregisterAction (const int) |
Unregister action from the internal action map. More... | |
bool | unregisterAction (QAction *) |
Unregister action from the internal action map. More... | |
virtual bool | abortAllOperations () |
Protected Attributes | |
QMap< QAction *, QKeySequence > | myActionShortcutMap |
copy actions shortcut map More... | |
Private Slots | |
void | onInfoChanged (QString) |
Restore message info. More... | |
Private Attributes | |
CAM_Application * | myApp |
parent application object More... | |
QString | myName |
module title (user name) More... | |
QPixmap | myIcon |
module icon More... | |
QString | myInfo |
latest info message More... | |
CAM_DataModel * | myDataModel |
data model More... | |
QMap< int, QAction * > | myActionMap |
menu actions More... | |
bool | myMenuShown |
menu shown flag More... | |
bool | myToolShown |
tool shown flag More... | |
Friends | |
class | CAM_Application |
Provides support of menu/toolbars management.
CAM_Module::CAM_Module | ( | ) |
Creates unnamed module.
CAM_Module::CAM_Module | ( | const QString & | name | ) |
Creates module with the specified name.
name | module name |
|
virtual |
Destroy data model.
References myDataModel.
|
protectedvirtual |
id | action ID |
References QtxActionMenuMgr::findMenu(), menuMgr(), and myActionMap.
|
virtualslot |
This method is called when the user activates module. Successor classes can use this method to customize module activation process, for example, to show own menus, toolbars, etc.
Default implementation always returns true
.
true
if module is activated successfully. Reimplemented in SALOME_PYQT_ModuleLight, and SALOME_PYQT_Module.
References myActionShortcutMap.
|
virtual |
actionId | is a numerical unique operation id. |
|
virtual |
actionId | is a string unique operation id. |
actionId | is a string unique operation id. |
pluginName | is a name of a plugin where the operation is implemented. |
CAM_Application * CAM_Module::application | ( | ) | const |
References myApp.
|
virtualslot |
camStudy | CAM study object |
References app, SUIT_Study::application(), CAM_Study::containsDataModel(), CAM_Study::insertDataModel(), and CAM_Application::modules().
|
inlinevirtual |
type | popup menu context |
menu | popup menu |
title | popup menu title, which can be set by the module if required |
Reimplemented in LightApp_Module, SALOME_PYQT_ModuleLight, and SALOME_PYQT_Module.
|
virtual |
Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If id < 0, the action ID is generated automatically.
id | required action ID |
text | tooltip text |
icon | action icon |
menu | menu text |
tip | status bar tip |
key | keyboard accelerator |
parent | parent object |
toggle | if true , the action will be toggled |
reciever | action activation signal receiver object |
member | action activation signal receiver slot |
|
virtual |
Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If id < 0, the action ID is generated automatically.
id | required action ID |
text | tooltip text |
icon | action icon |
menu | menu text |
tip | status bar tip |
key | keyboard accelerator |
parent | parent object |
toggle | if true , the action will be toggled |
reciever | action activation signal receiver object |
member | action activation signal receiver slot |
References registerAction().
QtxActionGroup * CAM_Module::createActionGroup | ( | const int | id, |
const bool | exclusive = true |
||
) |
id | action group ID |
exclusive | true for exclusive action group |
References action(), registerAction(), and QtxActionGroup::setExclusive().
|
protectedvirtual |
Reimplemented in LightApp_Module, SALOME_PYQT_ModuleLight, and SalomeApp_Module.
int CAM_Module::createMenu | ( | const QString & | subMenu, |
const int | menu, | ||
const int | id = -1 , |
||
const int | group = -1 , |
||
const int | idx = -1 , |
||
QMenu * | menuObj = 0 |
||
) |
Create main menu or popup submenu and register it with specified id. Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If id < 0, the menu ID is generated automatically. If menu has been already created previously, its ID is just returned.
The menu parameter represents the menu name - it could be a sequence of strings, separated by '|' symbol. For example, "File|Edit" means File->Edit submenu. If menu doesn't exist, it is created automatically.
Parameter idx defines the index of the menu item in the menu group which is defined by the group. If idx < 0, the menu/submenu is added to the end of the menu group.
subMenu | subMenu name |
menu | parent menu ID |
id | requested menu ID |
group | menu group ID |
idx | menu item index (desired position in the menu group) |
References QtxActionMenuMgr::insert(), and menuMgr().
int CAM_Module::createMenu | ( | const QString & | subMenu, |
const QString & | menu, | ||
const int | id = -1 , |
||
const int | group = -1 , |
||
const int | idx = -1 |
||
) |
Create main menu or popup submenu and register it with specified id. Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If id < 0, the menu ID is generated automatically. If menu has been already created previously, its ID is just returned.
The menu parameter represents the menu name - it could be a sequence of strings, separated by '|' symbol. For example, "File|Edit" means File->Edit submenu. If menu doesn't exist, it is created automatically.
Parameter idx defines the index of the menu item in the menu group which is defined by the group. If idx < 0, the menu/submenu is added to the end of the menu group.
subMenu | subMenu name |
menu | parent menu name(s) |
id | requested menu ID |
group | menu group ID |
idx | menu item index (desired position in the menu group) |
References QtxActionMenuMgr::insert(), and menuMgr().
int CAM_Module::createMenu | ( | const int | id, |
const int | menu, | ||
const int | group = -1 , |
||
const int | idx = -1 |
||
) |
Insert action with id identifier to the menu manager. It is assumed that action has been already registered.
Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If action has been already added previously, its ID is just returned.
Parameter idx defines the index of the menu item in the menu group which is defined by the group. If idx < 0, the action is added to the end of the menu group.
id | action ID |
menu | menu ID |
group | menu group ID |
idx | action index (desired position in the menu group) |
References action(), QtxActionMenuMgr::insert(), menuMgr(), myMenuShown, and setMenuShown().
int CAM_Module::createMenu | ( | const int | id, |
const QString & | menu, | ||
const int | group = -1 , |
||
const int | idx = -1 |
||
) |
Insert action with id identifier to the menu manager. It is assumed that action has been already registered.
Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If action has been already added previously, its ID is just returned.
The menu parameter represents the menu name - it could be a sequence of strings, separated by '|' symbol. For example, "File|Edit" means File->Edit submenu. If menu doesn't exist, it is created automatically.
Parameter idx defines the index of the menu item in the menu group which is defined by the group. If idx < 0, the action is added to the end of the menu group.
id | action ID |
menu | menu name(s) |
group | menu group ID |
idx | action index (desired position in the menu group) |
References action(), QtxActionMenuMgr::insert(), menuMgr(), myMenuShown, and setMenuShown().
int CAM_Module::createMenu | ( | QAction * | a, |
const int | menu, | ||
const int | id = -1 , |
||
const int | group = -1 , |
||
const int | idx = -1 |
||
) |
Insert action to the menu manager and register it with specified id. Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If id < 0, the action ID is generated automatically.
If action has been already added previously, its ID is just returned.
Parameter idx defines the index of the menu item in the menu group which is defined by the group. If idx < 0, the action is added to the end of the menu group.
a | action |
menu | menu ID |
id | requested action ID |
group | menu group ID |
idx | action index (desired position in the menu group) |
References QtxActionMenuMgr::insert(), menuMgr(), myMenuShown, registerAction(), and setMenuShown().
int CAM_Module::createMenu | ( | QAction * | a, |
const QString & | menu, | ||
const int | id = -1 , |
||
const int | group = -1 , |
||
const int | idx = -1 |
||
) |
Insert action to the menu manager and register it with specified id. Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If id < 0, the action ID is generated automatically.
If action has been already added previously, its ID is just returned.
The menu parameter represents the menu name - it could be a sequence of strings, separated by '|' symbol. For example, "File|Edit" means File->Edit submenu. If menu doesn't exist, it is created automatically.
Parameter idx defines the index of the menu item in the menu group which is defined by the group. If idx < 0, the action is added to the end of the menu group.
a | action |
menu | menu name(s) |
id | requested action ID |
group | menu group ID |
idx | action index (desired position in the menu group) |
References QtxActionMenuMgr::insert(), menuMgr(), myMenuShown, registerAction(), and setMenuShown().
If the toolbar has been already created, its ID is just returned.
title | toolbar title |
name | toolbar name (identifier) |
References QtxActionToolMgr::createToolBar(), myToolShown, and toolMgr().
Insert action with id identifier to the toolbar manager. It is assumed that action has been already registered.
Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If action has been already added previously, its ID is just returned.
If idx < 0, the action is added to the end of the toolbar.
id | action ID |
tBar | toolbar ID |
idx | action index (desired position in the toolbar) |
References action(), QtxActionToolMgr::insert(), myToolShown, setToolShown(), and toolMgr().
Insert action with id identifier to the toolbar manager. It is assumed that action has been already registered.
Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If action has been already added previously, its ID is just returned.
If idx < 0, the action is added to the end of the toolbar.
id | action ID |
tBar | toolbar name |
idx | action index (desired position in the toolbar) |
References action(), QtxActionToolMgr::insert(), myToolShown, setToolShown(), and toolMgr().
Insert action to the toolbar manager and register it with specified id. Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If action has been already added previously, its ID is just returned.
If id < 0, the action ID is generated automatically.
If idx < 0, the action is added to the end of the toolbar.
a | action |
tBar | toolbar ID |
id | requested action ID |
idx | action index (desired position in the toolbar) |
References QtxActionToolMgr::insert(), myToolShown, registerAction(), setToolShown(), and toolMgr().
int CAM_Module::createTool | ( | QAction * | a, |
const QString & | tBar, | ||
const int | id = -1 , |
||
const int | idx = -1 |
||
) |
Insert action to the toolbar manager and register it with specified id. Resulting action ID may differ from the requested one. This can happen if requested ID is already in use.
If action has been already added previously, its ID is just returned.
If id < 0, the action ID is generated automatically.
If idx < 0, the action is added to the end of the toolbar.
a | action |
tBar | toolbar name |
id | requested action ID |
idx | action index (desired position in the toolbar) |
References QtxActionToolMgr::insert(), myToolShown, registerAction(), setToolShown(), and toolMgr().
CAM_DataModel * CAM_Module::dataModel | ( | ) | const |
Creates data model, if it is not yet created.
References createDataModel(), CAM_DataModel::initialize(), and myDataModel.
|
virtualslot |
This method is called when the user deactivates module. Successor classes can use this method to customize module deactivation process, for example, to hide own menus, toolbars, etc.
Default implementation always returns true
.
true
if module is deactivated successfully. Reimplemented in SALOME_PYQT_ModuleLight, and SALOME_PYQT_Module.
References myActionMap, and myActionShortcutMap.
|
virtual |
This function is used to get module icon's file name. Default implementation returns empty string.
References application(), CAM_Application::moduleIcon(), and name().
|
virtual |
This method is usually called when the module is created (for example, on the module library loading). Successor classes can use this method to create menu/toolbar actions and perform other module initialization.
app | parent application object |
Reimplemented in StandardApp_Module, LightApp_Module, SALOME_PYQT_ModuleLight, and SALOME_PYQT_Module.
References app, myApp, onApplicationClosed(), onInfoChanged(), and SUIT_Session::session().
bool CAM_Module::isActiveModule | ( | ) | const |
true
if module is active. References CAM_Application::activeModule(), and application().
|
protectedvirtual |
Reimplemented in LightApp_Module.
QtxActionMenuMgr * CAM_Module::menuMgr | ( | ) | const |
References application(), SUIT_Application::desktop(), and SUIT_Desktop::menuMgr().
|
virtual |
References application(), iconName(), QtxResourceMgr::loadPixmap(), myIcon, name(), and SUIT_Application::resourceMgr().
QString CAM_Module::moduleName | ( | ) | const |
QString CAM_Module::name | ( | ) | const |
|
virtualslot |
Nullify application pointer if the application is being closed.
theApp | application |
References myApp.
|
privateslot |
Restores constant text message when previous information status message is removed.
txt | previous message (being removed) |
References application(), isActiveModule(), myInfo, and SUIT_Application::putInfo().
If msec > 0, the message will be shown msec milliseconds. If msec < 0, the message will be constantly displayed until module is active.
msg | text message |
msec | message displaying duration in milliseconds |
References application(), myInfo, and SUIT_Application::putInfo().
If action has been already added previously, its ID is just returned. If id < 0, the action ID is generated automatically.
id | action required ID |
a | action |
References application(), SUIT_Application::desktop(), menuMgr(), myActionMap, QtxActionMgr::registerAction(), and toolMgr().
|
static |
Separator action can be used in menus or toolbars.
References QtxActionMgr::separator().
|
virtual |
on | if true , show menus, otherwise, hide all menus |
References QtxActionMgr::actionId(), QtxActionMgr::isUpdatesEnabled(), menuMgr(), myActionMap, myMenuShown, separator(), QtxActionMenuMgr::setShown(), QtxActionMgr::setUpdatesEnabled(), and QtxActionMgr::update().
a | action |
on | if true , show menu item, otherwise, hide it |
References actionId(), menuMgr(), and QtxActionMenuMgr::setShown().
id | menu item ID |
on | if true , show menu item, otherwise, hide it |
References action(), and setMenuShown().
|
protectedvirtual |
name | new module title |
|
protected |
name | new module name |
|
virtual |
on | if true , show toolbars, otherwise, hide all toolbars |
References QtxActionMgr::actionId(), QtxActionMgr::isUpdatesEnabled(), myActionMap, myToolShown, separator(), QtxActionToolMgr::setShown(), QtxActionMgr::setUpdatesEnabled(), toolMgr(), and QtxActionMgr::update().
a | action |
on | if true , show toolbar item, otherwise, hide it |
References actionId(), QtxActionToolMgr::setShown(), and toolMgr().
id | toolbar item ID |
on | if true , show toolbar item, otherwise, hide it |
References action(), and setToolShown().
|
virtualslot |
Default implementation does nothing.
oldStudy | old study |
newStudy | new study |
|
virtualslot |
Removes data model from the study.
study | study being closed |
Reimplemented in SALOME_PYQT_Module.
References CAM_DataModel::close(), CAM_Study::containsDataModel(), dataModel(), and CAM_Study::removeDataModel().
QtxActionToolMgr * CAM_Module::toolMgr | ( | ) | const |
References application(), SUIT_Application::desktop(), and SUIT_Desktop::toolMgr().
|
protected |
|
protected |
a | action |
true
on success or false
if action is in use References QtxActionMgr::actionId(), actionId(), menuMgr(), toolMgr(), and QtxActionMgr::unRegisterAction().
|
inlinevirtual |
|
virtual |
Reimplemented in LightApp_Module.
|
friend |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |