"................................"};
// ---------------- OCC view widget --------
-OCCViewer_ViewWidget::OCCViewer_ViewWidget(QWidget* parent)
- : QFrame(parent), myShowTrihedron(true)
+OCCViewer_ViewWidget::OCCViewer_ViewWidget(QWidget* parent, const bool isUseMultiAction)
+ : QFrame(parent), myShowTrihedron(true), myUseMultiAction(isUseMultiAction)
{
setObjectName("OCC_view_widget");
mySelectedPoint = gp_Pnt(0.,0.,0.);
myToolBar = new QToolBar(aBtnBox);
aBtnLay->addWidget(myToolBar);
- myZoomBtns = new QtxMultiAction(aBtnBox);
- myZoomBtns->setObjectName("zoomBtn");
- myToolBar->addAction(myZoomBtns);
- myPanBtns = new QtxMultiAction(aBtnBox);
- myPanBtns->setObjectName("panBtn");
- myToolBar->addAction(myPanBtns);
- myProjBtns = new QtxMultiAction(aBtnBox);
- myProjBtns->setObjectName("projectionBtn");
- myToolBar->addAction(myProjBtns);
-
+ if (myUseMultiAction) {
+ myZoomBtns = new QtxMultiAction(aBtnBox);
+ myZoomBtns->setObjectName("zoomBtn");
+ myToolBar->addAction(myZoomBtns);
+ myPanBtns = new QtxMultiAction(aBtnBox);
+ myPanBtns->setObjectName("panBtn");
+ myToolBar->addAction(myPanBtns);
+ myProjBtns = new QtxMultiAction(aBtnBox);
+ myProjBtns->setObjectName("projectionBtn");
+ myToolBar->addAction(myProjBtns);
+ }
// Rotation
aBtnLay->addStretch(1);
anAnalLay->addWidget(aBtnBox, 0, 0, 1, 2);
createActions();
myButsMap[TrihId]->setChecked(false);
onTrihChanged();
+
+ my2dMode = No2dMode;
}
OCCViewer_ViewWidget::~OCCViewer_ViewWidget()
myToolBar->addAction(aAction);
myButsMap[ TrihId ] = aAction;
- myZoomBtns->insertAction(myButsMap[ FitAllId ]);
- myZoomBtns->insertAction(myButsMap[ FitRectId ]);
- myZoomBtns->insertAction(myButsMap[ ZoomId ]);
+ if (myUseMultiAction) {
+ myZoomBtns->insertAction(myButsMap[ FitAllId ]);
+ myZoomBtns->insertAction(myButsMap[ FitRectId ]);
+ myZoomBtns->insertAction(myButsMap[ ZoomId ]);
- myPanBtns->insertAction(myButsMap[ PanId ]);
- myPanBtns->insertAction(myButsMap[ GlobalPanId ]);
+ myPanBtns->insertAction(myButsMap[ PanId ]);
+ myPanBtns->insertAction(myButsMap[ GlobalPanId ]);
- myProjBtns->insertAction(myButsMap[ FrontId ]);
- myProjBtns->insertAction(myButsMap[ BackId ]);
- myProjBtns->insertAction(myButsMap[ TopId ]);
- myProjBtns->insertAction(myButsMap[ BottomId ]);
- myProjBtns->insertAction(myButsMap[ LeftId ]);
- myProjBtns->insertAction(myButsMap[ RightId ]);
+ myProjBtns->insertAction(myButsMap[ FrontId ]);
+ myProjBtns->insertAction(myButsMap[ BackId ]);
+ myProjBtns->insertAction(myButsMap[ TopId ]);
+ myProjBtns->insertAction(myButsMap[ BottomId ]);
+ myProjBtns->insertAction(myButsMap[ LeftId ]);
+ myProjBtns->insertAction(myButsMap[ RightId ]);
+ }
+ else {
+ myToolBar->addAction(myButsMap[ FitAllId ]);
+ myToolBar->addAction(myButsMap[ FitRectId ]);
+ myToolBar->addAction(myButsMap[ ZoomId ]);
+
+ myToolBar->addAction(myButsMap[ PanId ]);
+ myToolBar->addAction(myButsMap[ GlobalPanId ]);
+
+ myToolBar->addAction(myButsMap[ FrontId ]);
+ myToolBar->addAction(myButsMap[ BackId ]);
+ myToolBar->addAction(myButsMap[ TopId ]);
+ myToolBar->addAction(myButsMap[ BottomId ]);
+ myToolBar->addAction(myButsMap[ LeftId ]);
+ myToolBar->addAction(myButsMap[ RightId ]);
+ }
}
/*!
return aRes;
}
+void OCCViewer_ViewWidget::set2dMode(OCCViewer_ViewWidget::Mode2dType theType)
+{
+ my2dMode = theType;
+}
+
+QAction* OCCViewer_ViewWidget::action( const ButtonsType& theId )
+{
+ return myButsMap.contains( theId ) ? myButsMap[theId] : 0;
+}
+
void OCCViewer_ViewWidget::onActivated()
{
if(!sender() || !sender()->inherits("QtxAction"))
//myViewPort->startRotation(myStartX, myStartY);//, 0, mySelectedPoint);
break;
default:
+ emit mousePressed(theEvent);
break;
}
}
(theEvent->button() == SUIT_ViewModel::myButtonMap[SUIT_ViewModel::STANDARD][SUIT_ViewModel::PAN]))
aOp = PANVIEW;
else if((theEvent->modifiers() == SUIT_ViewModel::myStateMap[SUIT_ViewModel::STANDARD][SUIT_ViewModel::ROTATE]) &&
- (theEvent->button() == SUIT_ViewModel::myButtonMap[SUIT_ViewModel::STANDARD][SUIT_ViewModel::ROTATE]))
+ (theEvent->button() == SUIT_ViewModel::myButtonMap[SUIT_ViewModel::STANDARD][SUIT_ViewModel::ROTATE]) &&
+ (my2dMode == No2dMode))
aOp = ROTATE;
return aOp;
{
switch (myOperation) {
case NOTHING:
+ emit mouseReleased(theEvent);
break;
case ROTATE:
myViewPort->endRotation();
setCursor(handCursor);
}
}
- }
+ }
+ else
+ emit mouseMoving( theEvent );
}
}
}