Salome HOME
ptv, do not send mouse release event just after mouse double click
[modules/gui.git] / src / VTKViewer / VTKViewer_ViewModel.cxx
index 1d00cb59bfaf21e7f911dfc23a407740babede95..b762a6a5e0e7119cfa13d965f0828cee2b0ca461 100755 (executable)
 #include <qpalette.h>
 #include <qpopupmenu.h>
 
-//****************************************************************
+/*!Constructor.Sets background color to black.*/
 VTKViewer_Viewer::VTKViewer_Viewer()
-:SUIT_ViewModel() 
+: SUIT_ViewModel(),
+myBgColor( Qt::black )
 {
 }
 
-//****************************************************************
+/*!Destructor.*/
 VTKViewer_Viewer::~VTKViewer_Viewer() 
 {
 }
 
-//****************************************************************
-SUIT_ViewWindow* VTKViewer_Viewer::createView(SUIT_Desktop* theDesktop)
+/*!Gets background color.*/
+QColor VTKViewer_Viewer::backgroundColor() const
 {
-  return new VTKViewer_ViewWindow(theDesktop, this);
+  return myBgColor;
 }
 
-//*********************************************************************
+/*!Sets background color.*/
+void VTKViewer_Viewer::setBackgroundColor( const QColor& c )
+{
+  if ( c.isValid() )
+    myBgColor = c;
+}
+
+/*!Create new instance of VTKViewer_ViewWindow, sets background color and return pointer to it.*/
+SUIT_ViewWindow* VTKViewer_Viewer::createView( SUIT_Desktop* theDesktop )
+{
+  VTKViewer_ViewWindow* vw = new VTKViewer_ViewWindow( theDesktop, this );
+  vw->setBackgroundColor( myBgColor );
+  return vw;
+}
+
+/*!Sets view manager and connect slots.*/
 void VTKViewer_Viewer::setViewManager(SUIT_ViewManager* theViewManager)
 {
   SUIT_ViewModel::setViewManager(theViewManager);
@@ -44,22 +60,20 @@ void VTKViewer_Viewer::setViewManager(SUIT_ViewManager* theViewManager)
           this, SLOT(onMouseRelease(SUIT_ViewWindow*, QMouseEvent*)));
 }
 
-//*********************************************************************
+/*!Insert context into popup menu.*/
 void VTKViewer_Viewer::contextMenuPopup(QPopupMenu* thePopup)
 {
-  if (thePopup->count() > 0) thePopup->insertSeparator();
-  thePopup->insertItem("Change background...", this, SLOT(onChangeBgColor()));
+  thePopup->insertItem( tr( "MEN_DUMP_VIEW" ), this, SLOT( onDumpView() ) );
+  thePopup->insertItem( tr( "MEN_CHANGE_BACKGROUD" ), this, SLOT( onChangeBgColor() ) );
+
+  thePopup->insertSeparator();
 
   VTKViewer_ViewWindow* aView = (VTKViewer_ViewWindow*)(myViewManager->getActiveView());
-  if ( aView ) {
-    if ( !aView->getToolBar()->isVisible() ) {
-      thePopup->insertSeparator();
-      thePopup->insertItem("Show toolbar", this, SLOT(onShowToolbar()));
-    }
-  }
+  if ( aView && !aView->getToolBar()->isVisible() )
+    thePopup->insertItem( tr( "MEN_SHOW_TOOLBAR" ), this, SLOT( onShowToolbar() ) );
 }
 
-//*********************************************************************
+/*!On mouse press event.*/
 void VTKViewer_Viewer::onMousePress(SUIT_ViewWindow* vw, QMouseEvent* event)
 {
   VTKViewer_RenderWindowInteractor* rwi = 0;
@@ -83,7 +97,7 @@ void VTKViewer_Viewer::onMousePress(SUIT_ViewWindow* vw, QMouseEvent* event)
   }
 }
 
-//*********************************************************************
+/*!On mouse move event.*/
 void VTKViewer_Viewer::onMouseMove(SUIT_ViewWindow* vw, QMouseEvent* event)
 {
   VTKViewer_RenderWindowInteractor* rwi = 0;
@@ -93,7 +107,7 @@ void VTKViewer_Viewer::onMouseMove(SUIT_ViewWindow* vw, QMouseEvent* event)
     rwi->MouseMove( event );
 }
 
-//*********************************************************************
+/*!On mouse release event.*/
 void VTKViewer_Viewer::onMouseRelease(SUIT_ViewWindow* vw, QMouseEvent* event)
 {
   VTKViewer_RenderWindowInteractor* rwi = 0;
@@ -117,21 +131,29 @@ void VTKViewer_Viewer::onMouseRelease(SUIT_ViewWindow* vw, QMouseEvent* event)
   }
 }
 
-//*********************************************************************
+/*!Sets flag to enable selection \a isEnable.*/
 void VTKViewer_Viewer::enableSelection(bool isEnabled)
 {
   mySelectionEnabled = isEnabled;
   //!! To be done for view windows
 }
 
-//*********************************************************************
+/*!Sets flag to multi selection enable \a isEnable.*/
 void VTKViewer_Viewer::enableMultiselection(bool isEnable)
 {
   myMultiSelectionEnabled = isEnable;
   //!! To be done for view windows
 }
 
-//*********************************************************************
+/*!On dump view event.*/
+void VTKViewer_Viewer::onDumpView()
+{
+  VTKViewer_ViewWindow* aView = (VTKViewer_ViewWindow*)(myViewManager->getActiveView());
+  if ( aView )
+    aView->onDumpView();
+}
+
+/*!On change back ground color event.*/
 void VTKViewer_Viewer::onChangeBgColor()
 {
   VTKViewer_ViewWindow* aView = (VTKViewer_ViewWindow*)(myViewManager->getActiveView());
@@ -143,7 +165,7 @@ void VTKViewer_Viewer::onChangeBgColor()
     aView->setBackgroundColor(aColor);
 }
 
-//*********************************************************************
+/*!On show tool bar event.*/
 void VTKViewer_Viewer::onShowToolbar() {
   VTKViewer_ViewWindow* aView = (VTKViewer_ViewWindow*)(myViewManager->getActiveView());
   if ( aView )