X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.cpp;h=81389750e58da4936705a001772151eefd070dfe;hb=43038cf5895f661133b3a21176d80a97d67c357e;hp=31c283e5d74bb63db4ebb1f1a94c0d7fdf179a2a;hpb=20cfef4d500c0e7817a1e8ed5579a1354e08d1d9;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.cpp b/src/XGUI/XGUI_Workshop.cpp index 31c283e5d..81389750e 100644 --- a/src/XGUI/XGUI_Workshop.cpp +++ b/src/XGUI/XGUI_Workshop.cpp @@ -1,13 +1,6 @@ -#include "ModuleBase_IModule.h" -#include "XGUI_Constants.h" -#include "XGUI_Command.h" -#include "XGUI_MainMenu.h" -#include "XGUI_MainWindow.h" -#include "XGUI_MenuGroupPanel.h" +//#include "XGUI_Constants.h" #include "XGUI_Tools.h" -#include "XGUI_Workbench.h" #include "XGUI_Workshop.h" -#include "XGUI_Viewer.h" #include "XGUI_SelectionMgr.h" #include "XGUI_Selection.h" #include "XGUI_ObjectsBrowser.h" @@ -20,9 +13,18 @@ #include "XGUI_PropertyPanel.h" #include "XGUI_ContextMenuMgr.h" #include "XGUI_ModuleConnector.h" -#include "XGUI_Preferences.h" #include +#include +#include +#include +#include +#include +#include + +#include +#include + #include #include #include @@ -33,7 +35,7 @@ #include #include -#include +//#include #include #include @@ -76,12 +78,39 @@ QMap XGUI_Workshop::myIcons; -QString XGUI_Workshop::featureIcon(const std::string& theId) + +QIcon XGUI_Workshop::featureIcon(const FeaturePtr& theFeature) { - QString aId(theId.c_str()); - if (myIcons.contains(aId)) - return myIcons[aId]; - return QString(); + QIcon anIcon; + + std::string aKind = theFeature->getKind(); + QString aId(aKind.c_str()); + if (!myIcons.contains(aId)) + return anIcon; + + QString anIconString = myIcons[aId]; + + ModelAPI_ExecState aState = theFeature->data()->execState(); + switch(aState) { + case ModelAPI_StateDone: + case ModelAPI_StateNothing: + anIcon = QIcon(anIconString); + case ModelAPI_StateMustBeUpdated: { + anIcon = ModuleBase_Tools::lighter(anIconString); + } + break; + case ModelAPI_StateExecFailed: { + anIcon = ModuleBase_Tools::composite(":pictures/exec_state_failed.png", anIconString); + } + break; + case ModelAPI_StateInvalidArgument: { + anIcon = ModuleBase_Tools::composite(":pictures/exec_state_invalid_parameters.png", + anIconString); + } + break; + default: break; + } + return anIcon; } XGUI_Workshop::XGUI_Workshop(XGUI_SalomeConnector* theConnector) @@ -95,7 +124,7 @@ XGUI_Workshop::XGUI_Workshop(XGUI_SalomeConnector* theConnector) myUpdatePrefs(false), myPartActivating(false) { - myMainWindow = mySalomeConnector ? 0 : new XGUI_MainWindow(); + myMainWindow = mySalomeConnector ? 0 : new AppElements_MainWindow(); myDisplayer = new XGUI_Displayer(this); @@ -160,7 +189,7 @@ void XGUI_Workshop::startApplication() registerValidators(); // Calling of loadCustomProps before activating module is required // by Config_PropManger to restore user-defined path to plugins - XGUI_Preferences::loadCustomProps(); + ModuleBase_Preferences::loadCustomProps(); activateModule(); if (myMainWindow) { myMainWindow->show(); @@ -207,9 +236,9 @@ void XGUI_Workshop::initMenu() return; } // File commands group - XGUI_MenuGroupPanel* aGroup = myMainWindow->menuObject()->generalPage(); + AppElements_MenuGroupPanel* aGroup = myMainWindow->menuObject()->generalPage(); - XGUI_Command* aCommand; + AppElements_Command* aCommand; aCommand = aGroup->addFeature("SAVE_CMD", tr("Save..."), tr("Save the document"), QIcon(":pictures/save.png"), QKeySequence::Save); @@ -257,9 +286,9 @@ void XGUI_Workshop::initMenu() } //****************************************************** -XGUI_Workbench* XGUI_Workshop::addWorkbench(const QString& theName) +AppElements_Workbench* XGUI_Workshop::addWorkbench(const QString& theName) { - XGUI_MainMenu* aMenuBar = myMainWindow->menuObject(); + AppElements_MainMenu* aMenuBar = myMainWindow->menuObject(); return aMenuBar->addWorkbench(theName); } @@ -623,14 +652,14 @@ void XGUI_Workshop::addFeature(const std::shared_ptr& the myModule->actionCreated(aAction); } else { - XGUI_MainMenu* aMenuBar = myMainWindow->menuObject(); - XGUI_Workbench* aPage = aMenuBar->findWorkbench(aWchName); + AppElements_MainMenu* aMenuBar = myMainWindow->menuObject(); + AppElements_Workbench* aPage = aMenuBar->findWorkbench(aWchName); if (!aPage) { aPage = addWorkbench(aWchName); } //Find or create Group QString aGroupName = QString::fromStdString(theMessage->groupId()); - XGUI_MenuGroupPanel* aGroup = aPage->findGroup(aGroupName); + AppElements_MenuGroupPanel* aGroup = aPage->findGroup(aGroupName); if (!aGroup) { aGroup = aPage->addGroup(aGroupName); } @@ -639,7 +668,7 @@ void XGUI_Workshop::addFeature(const std::shared_ptr& the QKeySequence aHotKey = myActionsMgr->registerShortcut( QString::fromStdString(theMessage->keysequence())); // Create feature... - XGUI_Command* aCommand = aGroup->addFeature(aFeatureId, + AppElements_Command* aCommand = aGroup->addFeature(aFeatureId, QString::fromStdString(theMessage->text()), QString::fromStdString(theMessage->tooltip()), QIcon(theMessage->icon().c_str()), @@ -663,7 +692,7 @@ void XGUI_Workshop::connectWithOperation(ModuleBase_Operation* theOperation) if (isSalomeMode()) { aCommand = salomeConnector()->command(theOperation->getDescription()->operationId()); } else { - XGUI_MainMenu* aMenu = myMainWindow->menuObject(); + AppElements_MainMenu* aMenu = myMainWindow->menuObject(); FeaturePtr aFeature = theOperation->feature(); if(aFeature) aCommand = aMenu->feature(QString::fromStdString(aFeature->getKind())); @@ -863,17 +892,17 @@ void XGUI_Workshop::onRebuild() //****************************************************** void XGUI_Workshop::onPreferences() { - XGUI_Prefs aModif; - XGUI_Preferences::editPreferences(aModif); + ModuleBase_Prefs aModif; + ModuleBase_Preferences::editPreferences(aModif); if (aModif.size() > 0) { QString aSection; - foreach (XGUI_Pref aPref, aModif) + foreach (ModuleBase_Pref aPref, aModif) { aSection = aPref.first; - if (aSection == XGUI_Preferences::VIEWER_SECTION) { + if (aSection == ModuleBase_Preferences::VIEWER_SECTION) { if (!isSalomeMode()) myMainWindow->viewer()->updateFromResources(); - } else if (aSection == XGUI_Preferences::MENU_SECTION) { + } else if (aSection == ModuleBase_Preferences::MENU_SECTION) { if (!isSalomeMode()) myMainWindow->menuObject()->updateFromResources(); } @@ -960,8 +989,8 @@ void XGUI_Workshop::updateCommandStatus() if (isSalomeMode()) { // update commands in SALOME mode aCommands = salomeConnector()->commandList(); } else { - XGUI_MainMenu* aMenuBar = myMainWindow->menuObject(); - foreach (XGUI_Command* aCmd, aMenuBar->features()) + AppElements_MainMenu* aMenuBar = myMainWindow->menuObject(); + foreach (AppElements_Command* aCmd, aMenuBar->features()) aCommands.append(aCmd); } SessionPtr aMgr = ModelAPI_Session::get(); @@ -1000,8 +1029,8 @@ QList XGUI_Workshop::getModuleCommands() const if (isSalomeMode()) { // update commands in SALOME mode aCommands = salomeConnector()->commandList(); } else { - XGUI_MainMenu* aMenuBar = myMainWindow->menuObject(); - foreach(XGUI_Command* aCmd, aMenuBar->features()) + AppElements_MainMenu* aMenuBar = myMainWindow->menuObject(); + foreach(AppElements_Command* aCmd, aMenuBar->features()) { aCommands.append(aCmd); } @@ -1047,9 +1076,9 @@ void XGUI_Workshop::createDockWidgets() aDesktop->tabifyDockWidget(aObjDock, myPropertyPanel); myPropertyPanel->installEventFilter(myOperationMgr); - QPushButton* aOkBtn = myPropertyPanel->findChild(XGUI::PROP_PANEL_OK); + QPushButton* aOkBtn = myPropertyPanel->findChild(PROP_PANEL_OK); connect(aOkBtn, SIGNAL(clicked()), myOperationMgr, SLOT(onCommitOperation())); - QPushButton* aCancelBtn = myPropertyPanel->findChild(XGUI::PROP_PANEL_CANCEL); + QPushButton* aCancelBtn = myPropertyPanel->findChild(PROP_PANEL_CANCEL); connect(aCancelBtn, SIGNAL(clicked()), myOperationMgr, SLOT(onAbortOperation())); connect(myPropertyPanel, SIGNAL(keyReleased(QKeyEvent*)), myOperationMgr, SLOT(onKeyReleased(QKeyEvent*)));