X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSHAPERGUI%2FSHAPERGUI.h;h=964d4bfe010c65b67abe9775b9567aa32208fec9;hb=64bd95cebe79a5639800635efb7b0d21f13c079c;hp=1241ebc75d0c90a38b78c4cb797fa5260697c0e6;hpb=4530bb5d47e49f536e6e4e3159fcea6f6705548c;p=modules%2Fshaper.git diff --git a/src/SHAPERGUI/SHAPERGUI.h b/src/SHAPERGUI/SHAPERGUI.h index 1241ebc75..964d4bfe0 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-2022 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,13 +28,14 @@ #include -#include +#include #include class XGUI_Workshop; class SHAPERGUI_OCCSelector; class OCCViewer_Viewer; class CAM_Study; +class QtxInfoPanel; /** * \ingroup Salome @@ -92,10 +92,11 @@ Q_OBJECT virtual bool isFeatureOfNested(const QAction* theAction); virtual QAction* addDesktopCommand(const QString& theId, const QString& theTitle, - const QString& theTip, const QIcon& theIcon, - const QKeySequence& theKeys, bool isCheckable, - const char* theMenuSourceText, - const int theMenuPosition = 10); + const QString& theTip, const QIcon& theIcon, + const QKeySequence& theKeys, bool isCheckable, + const char* theMenuSourceText, const QString& theSubMenu = QString(), + const int theMenuPosition = 10, + const int theSuibMenuPosition = -1) Standard_OVERRIDE; virtual void addDesktopMenuSeparator(const char* theMenuSourceText, const int theMenuPosition = 10); @@ -156,6 +157,25 @@ Q_OBJECT 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(); + + void publishToStudy(); + + virtual void updateInfoPanel(); + 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, @@ -207,13 +227,36 @@ Q_OBJECT 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(); + + //! Fill Info Panel in Part set mode + void fillPartSetInfoPanel(QtxInfoPanel* theInfoPanel); + + //! Fill Info Panel in Part mode + void fillPartInfoPanel(QtxInfoPanel* theInfoPanel); + + //! Fill Info Panel in Sketcher mode + void fillSketcherInfoPanel(QtxInfoPanel* theInfoPanel); + + //! Fill Info Panel in Sketcher mode + void addActionsToInfoGroup(QtxInfoPanel* theInfoPanel, const QString& theGroup, const QSet& theActions); + + void hideInternalWindows(); /// List of registered nested actions QStringList myNestedActionsList; @@ -233,11 +276,7 @@ private slots: /// Flag of opened document state bool myIsOpened; - // the next parameters should be restored after this module deactivation - - /// The application value of the preferences parameter - bool myIsStorePositions; - + // the next parameter should be restored after this module deactivation /// The application value bool myIsEditEnabled; @@ -248,7 +287,18 @@ private slots: bool myIsInspectionVisible; QDockWidget* myInspectionPanel; + bool myIsFacesPanelVisible; + + /// List of registered actions + QIntList myActionsList; + QMap myToolbars; + QMap myDefaultToolbars; + bool myIsToolbarsModified; + + std::vector myOldSelectionColor; + Handle(Graphic3d_AspectMarker3d) myHighlightPointAspect; + double myAxisArrowRate; }; #endif