Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_Viewer.h
index 1eb2bd47ebee640af40ecba489046274a8a94629..8c2f13c9c4f470fc30c55074cd12972bdfa094e2 100644 (file)
@@ -3,10 +3,13 @@
 
 #include "XGUI.h"
 #include "XGUI_Constants.h"
+#include <ModuleBase_Definitions.h>
 
 #include <QObject>
 #include <QMap>
 #include <QList>
+#include <QPoint>
+#include <QAction>
 
 #include <V3d_Viewer.hxx>
 #include <AIS_InteractiveContext.hxx>
@@ -14,7 +17,6 @@
 #include <NCollection_List.hxx>
 #include <TopoDS_Shape.hxx>
 
-#include <QPoint>
 
 class XGUI_MainWindow;
 class QMdiSubWindow;
@@ -123,6 +125,10 @@ public:
   //! Compute trihedron size dependent on 3d scene size
   bool computeTrihedronSize(double& theNewSize, double& theSize);
 
+  //! Add action to the viewer
+  void addAction(QAction* theAction) { myActions.append(theAction); }
+
+
   static void setHotButton(XGUI::InteractionStyle theInteractionStyle, XGUI::HotOperation theOper,
                            Qt::KeyboardModifiers theState, Qt::MouseButtons theButton);
   static void getHotButton(XGUI::InteractionStyle theInteractionStyle, XGUI::HotOperation theOper,
@@ -151,6 +157,8 @@ signals:
   void activated(XGUI_ViewWindow* theWindow);
   void selectionChanged();
 
+  void contextMenuRequested(QContextMenuEvent*);
+
 public slots:
   void onWindowMinimized(QMdiSubWindow*);
   void onWindowActivated(QMdiSubWindow*);
@@ -160,6 +168,7 @@ private slots:
   void onMouseMove(XGUI_ViewWindow* theWindow, QMouseEvent* theEvent);
   void onMouseReleased(XGUI_ViewWindow* theWindow, QMouseEvent* theEvent);
   void onMousePressed(XGUI_ViewWindow* theWindow, QMouseEvent* theEvent);
+  //void onContextMenuRequested(QContextMenuEvent* theEvent);
 
 private:
   void addView(QMdiSubWindow* theView);
@@ -192,8 +201,11 @@ private:
   /// Points used for selection management
   QPoint myStartPnt, myEndPnt, myCurPnt;
 
-  // A counter of created windows
+  /// A counter of created windows
   int myWndIdCount;
+
+  /// List of Viewer actions
+  QList<QAction*> myActions;
 };
 
 #endif