Salome HOME
Updated copyright comment
[modules/shaper.git] / src / SHAPERGUI / SHAPERGUI.h
index 32b5035cde8ac7006a3e06d8ced4d768411a8c77..631ac080eb263a7c8fec3fdb87a40e814f14cff4 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -35,8 +35,10 @@ class XGUI_Workshop;
 class SHAPERGUI_OCCSelector;
 class OCCViewer_Viewer;
 class CAM_Study;
+class QtxInfoPanel;
+class ModuleBase_Operation;
 
-/** 
+/**
  * \ingroup Salome
  * An implementation of SALOME connector class for implementation of
  * XGUI functionality as a module of SALOME
@@ -91,10 +93,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);
@@ -170,6 +173,10 @@ Q_OBJECT
 
   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,
@@ -208,6 +215,9 @@ Q_OBJECT
   /// Obtains the current application and updates its actions
   void onUpdateCommandStatus();
 
+   /// \brief The method is called on any GUI action
+  virtual void logShaperGUIEvent();
+
  protected:
    /// Create data model
   CAM_DataModel* createDataModel();
@@ -223,6 +233,9 @@ private slots:
 
   void onEditToolbars();
 
+  void onOperationCommitted(ModuleBase_Operation*);
+  void onOperationAborted(ModuleBase_Operation*);
+
  private:
    /// Create selector for OCC Viewer
    /// \param theMgr view manager
@@ -238,6 +251,20 @@ private slots:
   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;
 
@@ -256,11 +283,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;
 
@@ -271,12 +294,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