-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA, EDF
//
// 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
class SHAPERGUI_OCCSelector;
class OCCViewer_Viewer;
class CAM_Study;
+class QtxInfoPanel;
/**
* \ingroup Salome
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);
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();
+
+ virtual void updateInfoPanel();
public slots:
/// \brief The method is redefined to connect to the study viewer before the data
// Update current toolbars
void updateToolbars(const QMap<QString, QIntList>& 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<QString>& theActions);
+
+ void hideInternalWindows();
+
/// List of registered nested actions
QStringList myNestedActionsList;
/// 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;
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