Salome HOME
Copyright update 2021
[modules/shaper.git] / src / SHAPERGUI / SHAPERGUI.h
index afcc55bf61be8718fb433ff0ec3accf8fea63e74..6346618e6f8dc61e3869224b0f7436ff864850bd 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2021  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
 //
 // 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<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef SHAPERGUI_H
@@ -92,10 +91,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,10 +156,22 @@ Q_OBJECT
 
   virtual void updateModuleVisibilityState();
 
-
+  /// Returns list of the module commands
   QIntList shaperActions() const { return myActionsList; }
+
+  /// Returns structure of tool bars
   QMap<QString, QIntList> 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<QString, QIntList> defaultToolbars() const
+  { return (myDefaultToolbars.size() == 0)? myToolbars : myDefaultToolbars; }
+
+  void resetToolbars();
+
+  void publishToStudy();
 
  public slots:
   /// \brief The method is redefined to connect to the study viewer before the data
@@ -226,6 +238,12 @@ private slots:
   // Update current toolbars
   void updateToolbars(const QMap<QString, QIntList>& theNewToolbars);
 
+  void saveToolbarsConfig();
+  void loadToolbarsConfig();
+
+
+  void hideInternalWindows();
+
   /// List of registered nested actions
   QStringList myNestedActionsList;
 
@@ -259,10 +277,18 @@ private slots:
 
   bool myIsInspectionVisible;
   QDockWidget* myInspectionPanel;
+  bool myIsFacesPanelVisible;
 
   /// List of registered actions
   QIntList myActionsList;
   QMap<QString, QIntList> myToolbars;
+  QMap<QString, QIntList> myDefaultToolbars;
+  bool myIsToolbarsModified;
+
+  std::vector<int> myOldSelectionColor;
+  Handle(Graphic3d_AspectMarker3d) myHighlightPointAspect;
+
+  double myAxisArrowRate;
 };
 
 #endif