X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSHAPERGUI%2FSHAPERGUI.h;h=1c52678385d50ea1ab3a12f52032bbd8579d5f45;hb=befbd47554122bdbc74789ee76975167292d58be;hp=ffe975ca2813e5b5b0633bf423ae6ad28b958ee9;hpb=59adfe12b6941289dbfc9ac04dec5118ec51ea7c;p=modules%2Fshaper.git diff --git a/src/SHAPERGUI/SHAPERGUI.h b/src/SHAPERGUI/SHAPERGUI.h index ffe975ca2..1c5267838 100644 --- a/src/SHAPERGUI/SHAPERGUI.h +++ b/src/SHAPERGUI/SHAPERGUI.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2019 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #ifndef SHAPERGUI_H @@ -29,7 +28,7 @@ #include -#include +#include #include class XGUI_Workshop; @@ -66,8 +65,9 @@ Q_OBJECT //--- XGUI connector interface ----- - virtual QAction* addFeature(const QString& theWBName, const QString& theId, - const QString& theTitle, const QString& theTip, const QIcon& theIcon, + virtual QAction* addFeature(const QString& theWBName, const QString& theTBName, + const QString& theId, const QString& theTitle, + const QString& theTip, const QIcon& theIcon, const QKeySequence& theKeys/* = QKeySequence()*/, bool isCheckable /*= false*/, const bool isAddSeparator/* = false*/, const QString& theStatusTip); @@ -153,6 +153,23 @@ Q_OBJECT /// \brief Set flag about opened document state void setIsOpened(bool theOpened) { myIsOpened = theOpened; } + virtual void updateModuleVisibilityState(); + + /// Returns list of the module commands + QIntList shaperActions() const { return myActionsList; } + + /// Returns structure of tool bars + QMap shaperToolbars() const { return myToolbars; } + + /// Returns free commands which are not in toolbars in the module + QIntList getFreeCommands() const; + + /// Returns structure of default tool bars + QMap defaultToolbars() const + { return (myDefaultToolbars.size() == 0)? myToolbars : myDefaultToolbars; } + + void resetToolbars(); + public slots: /// \brief The method is redefined to connect to the study viewer before the data /// model is filled by opened file. This file open will flush redisplay signals for, @@ -201,13 +218,25 @@ Q_OBJECT /// Abort all operations virtual bool abortAllOperations(); +private slots: + void onWhatIs(bool isToggled); + + void onEditToolbars(); + private: /// Create selector for OCC Viewer /// \param theMgr view manager SHAPERGUI_OCCSelector* createSelector(SUIT_ViewManager* theMgr); - /// List of registered actions - QStringList myActionsList; + void registerCommandToolbar(const QString& theToolName, int theCommandId); + + int getNextCommandId() const; + + // Update current toolbars + void updateToolbars(const QMap& theNewToolbars); + + void saveToolbarsConfig(); + void loadToolbarsConfig(); /// List of registered nested actions QStringList myNestedActionsList; @@ -237,6 +266,20 @@ Q_OBJECT /// Popup manager QtxPopupMgr* myPopupMgr; + + QAction* myWhatIsAction; + + bool myIsInspectionVisible; + QDockWidget* myInspectionPanel; + + /// List of registered actions + QIntList myActionsList; + QMap myToolbars; + QMap myDefaultToolbars; + bool myIsToolbarsModified; + + std::vector myOldSelectionColor; + Handle(Graphic3d_AspectMarker3d) myHighlightPointAspect; }; #endif