X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FXGUI%2FXGUI_Viewer.h;h=2ae7cdd04feb2b5dfa73364bd174a35a07d7afaf;hb=dfe52d15bccf7cd7d3fec2dd842625dcc5df7437;hp=d85a160cf9edbf96c33e98cdce185eb2e4aec4be;hpb=80a21be87c81ef61f0842b32e8b2ac7d4359acb4;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Viewer.h b/src/XGUI/XGUI_Viewer.h index d85a160cf..2ae7cdd04 100644 --- a/src/XGUI/XGUI_Viewer.h +++ b/src/XGUI/XGUI_Viewer.h @@ -3,6 +3,7 @@ #include "XGUI.h" #include "XGUI_Constants.h" +#include #include #include @@ -16,7 +17,6 @@ #include #include - class XGUI_MainWindow; class QMdiSubWindow; class XGUI_ViewWindow; @@ -30,10 +30,10 @@ class AIS_ListOfInteractive; * \brief Represents a 3d viewer. The viewer manages 3d scene and a set of view windows * when each of view window is a one point of view on this scene. */ -class XGUI_EXPORT XGUI_Viewer: public QObject +class XGUI_EXPORT XGUI_Viewer : public QObject { Q_OBJECT -public: + public: static QString backgroundData(QStringList&, QIntList&, QIntList&); XGUI_Viewer(XGUI_MainWindow* theParent, bool DisplayTrihedron = true); @@ -65,7 +65,7 @@ public: /// Return objects selected in 3D viewer /// \param theList - list to be filled with selected objects - void getSelectedObjects(AIS_ListOfInteractive& theList); + void getSelectedObjects(AIS_ListOfInteractive& theList); /// Return shapes selected in 3D viewer /// \param theList - list to be filled with selected shapes @@ -73,17 +73,23 @@ public: /// Selects objects in 3D viewer. Other selected objects are left as selected /// \param theList - list objects to be selected - void setObjectsSelected(const AIS_ListOfInteractive& theList); + void setObjectsSelected(const AIS_ListOfInteractive& theList); /// Returns true if selection in the viewer is enabled - bool isSelectionEnabled() const { return mySelectionEnabled; } + bool isSelectionEnabled() const + { + return mySelectionEnabled; + } /// Enable or disable selectioon in the viewer // \param toEnable - true or false (enable or disable selection) void setSelectionEnabled(bool toEnable); /// Returns true if multi-selection in the viewer is enabled - bool isMultiSelectionEnabled() const { return myMultiSelectionEnabled; } + bool isMultiSelectionEnabled() const + { + return myMultiSelectionEnabled; + } /// Enable or disable selectioon in the viewer // \param toEnable - true or false (enable or disable selection) @@ -91,7 +97,10 @@ public: /// Select the object in 3D viewer. /// \param theIO - list objects to be selected - void setSelected(const Handle(AIS_InteractiveObject)& theIO) { myAISContext->SetSelected(theIO); } + void setSelected(const Handle(AIS_InteractiveObject)& theIO) + { + myAISContext->SetSelected(theIO); + } //! Trihedron 3d object shown in the viewer Handle(AIS_Trihedron) trihedron() const @@ -125,8 +134,12 @@ public: bool computeTrihedronSize(double& theNewSize, double& theSize); //! Add action to the viewer - void addAction(QAction* theAction) { myActions.append(theAction); } + void addAction(QAction* theAction) + { + myActions.append(theAction); + } + void updateFromResources(); static void setHotButton(XGUI::InteractionStyle theInteractionStyle, XGUI::HotOperation theOper, Qt::KeyboardModifiers theState, Qt::MouseButtons theButton); @@ -156,18 +169,20 @@ signals: void activated(XGUI_ViewWindow* theWindow); void selectionChanged(); -public slots: + void contextMenuRequested(QContextMenuEvent*); + + public slots: void onWindowMinimized(QMdiSubWindow*); void onWindowActivated(QMdiSubWindow*); -private slots: + private slots: void onViewClosed(QMdiSubWindow*); 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); + //void onContextMenuRequested(QContextMenuEvent* theEvent); -private: + private: void addView(QMdiSubWindow* theView); /*! Removes the View from internal Views list.*/ @@ -175,12 +190,10 @@ private: void updateViewsDrawMode() const; -private: + private: XGUI_MainWindow* myMainWindow; - Handle(V3d_Viewer) myV3dViewer; - Handle(AIS_Trihedron) myTrihedron; - Handle(AIS_InteractiveContext) myAISContext; + Handle(V3d_Viewer) myV3dViewer;Handle(AIS_Trihedron) myTrihedron;Handle(AIS_InteractiveContext) myAISContext; XGUI::InteractionStyle myInteractionStyle; @@ -190,7 +203,7 @@ private: bool myIsRelative; double myTrihedronSize; - + QList myViews; QMdiSubWindow* myActiveView;