#include <ModuleBase_IViewer.h>
#include <ModuleBase_IViewWindow.h>
+#include <OCCViewer_ViewWindow.h>
+
#include <V3d_View.hxx>
class SUIT_ViewWindow;
class SUIT_ViewManager;
/**
+* \ingroup Salome
* A class for providing access of NewGeom functionality to
* SALOME view window functionality
*/
public:
/// Constructor
/// \param theViewer a reference to a viewer
- NewGeom_SalomeView(OCCViewer_Viewer* theViewer) { myViewer = theViewer; }
+ NewGeom_SalomeView(OCCViewer_Viewer* theViewer);
virtual Handle(V3d_View) v3dView() const;
+ /// Returns the view window view port
+ virtual QWidget* viewPort() const;
+
/// Set the current viewer
/// \param theViewer a viewer instance
void setViewer(OCCViewer_Viewer* theViewer) { myViewer = theViewer; }
/// Returns current viewer
OCCViewer_Viewer* viewer() const { return myViewer; }
+ /// Sets the current view
+ void setCurrentView(SUIT_ViewWindow* theView) { myCurrentView = theView; }
+
private:
/// A reference to a viewer
OCCViewer_Viewer* myViewer;
+ SUIT_ViewWindow* myCurrentView;
};
/**
+* \ingroup Salome
* A class for providing access of NewGeom functionality to
* SALOME viewer functionality
*/
/// Update current viewer
virtual void update();
+ /// Method returns True if the viewer can process editing objects
+ /// by mouse drugging. If this is impossible thet it has to return False.
+ virtual bool canDragByMouse() const;
+
+ /// Activate or deactivate viewer
+ /// \param toActivate - activation flag
+ void activateViewer(bool toActivate);
+
+ // Fit all along Z (perpendicular to display)
+ virtual void Zfitall();
private slots:
void onMousePress(SUIT_ViewWindow*, QMouseEvent*);
void onActivated(SUIT_ViewWindow*);
void onSelectionChanged();
+ void onViewTransformed(OCCViewer_ViewWindow::OperationType);
private:
NewGeom_OCCSelector* mySelector;