X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Viewer.h;h=23d66656a92bf3badab36e66d613ce5dd5630665;hb=d86c77d1c6210bbe04fbc3e5b00f9e212e1ec930;hp=3e33be3ae6a802a191814013328b5bf2e41b7771;hpb=6654a921211670c15a79a997ca666a174fe8a6f6;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Viewer.h b/src/XGUI/XGUI_Viewer.h index 3e33be3ae..23d66656a 100644 --- a/src/XGUI/XGUI_Viewer.h +++ b/src/XGUI/XGUI_Viewer.h @@ -11,6 +11,10 @@ #include #include #include +#include +#include + +#include class XGUI_MainWindow; class QMdiSubWindow; @@ -55,15 +59,24 @@ public: return myAISContext; } - //! Activate local selection - //! \param theAIS the list of objects - //! \param theMode the selection mode - //! \param isUpdateViewer the state wether the viewer should be updated immediatelly - void setLocalSelection(const AIS_ListOfInteractive& theAISObjects, const int theMode, - const bool isUpdateViewer); - //! Deactivate local selection - //! \param isUpdateViewer the state wether the viewer should be updated immediatelly - void setGlobalSelection(const bool isUpdateViewer); + //! Returns an active view window or NULL + XGUI_ViewWindow* activeViewWindow() const; + + /// Return objects selected in 3D viewer + /// \param theList - list to be filled with selected objects + void getSelectedObjects(AIS_ListOfInteractive& theList); + + /// Return shapes selected in 3D viewer + /// \param theList - list to be filled with selected shapes + void getSelectedShapes(NCollection_List& theList); + + /// 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); + + /// Select the object in 3D viewer. + /// \param theIO - list objects to be selected + void setSelected(const Handle(AIS_InteractiveObject)& theIO) { myAISContext->SetSelected(theIO); } //! Trihedron 3d object shown in the viewer Handle(AIS_Trihedron) trihedron() const @@ -101,6 +114,12 @@ public: static void getHotButton(XGUI::InteractionStyle theInteractionStyle, XGUI::HotOperation theOper, Qt::KeyboardModifiers& theState, Qt::MouseButtons& theButton); + //! Sets the view projection + /// \param theX the X projection value + /// \param theY the Y projection value + /// \param theZ the Z projection value + void setViewProjection(double theX, double theY, double theZ); + typedef QMap StatesMap; typedef QMap ButtonsMap; @@ -123,6 +142,8 @@ signals: void keyRelease(XGUI_ViewWindow* theWindow, QKeyEvent* theEvent); void activated(XGUI_ViewWindow* theWindow); void selectionChanged(); + void mouseReleased(QPoint thePoint); + void mouseMoved(QPoint thePoint); public slots: void onWindowMinimized(QMdiSubWindow*); @@ -142,7 +163,9 @@ 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;