connect(aWindow, SIGNAL(keyReleased(XGUI_ViewWindow*, QKeyEvent*)),
this, SIGNAL(keyRelease(XGUI_ViewWindow*, QKeyEvent*)));
- connect(aWindow, SIGNAL(contextMenuRequested( QContextMenuEvent* )),
- this, SLOT (onContextMenuRequested( QContextMenuEvent* )));
- //connect(aWindow, SIGNAL( contextMenuRequested(QContextMenuEvent*) ),
- // this, SIGNAL( contextMenuRequested(QContextMenuEvent*) ) );
+ //connect(aWindow, SIGNAL(contextMenuRequested( QContextMenuEvent* )),
+ // this, SLOT (onContextMenuRequested( QContextMenuEvent* )));
+ connect(aWindow, SIGNAL( contextMenuRequested(QContextMenuEvent*) ),
+ this, SIGNAL( contextMenuRequested(QContextMenuEvent*) ) );
connect(aWindow, SIGNAL(mouseMoving(XGUI_ViewWindow*, QMouseEvent*)),
this, SLOT(onMouseMove(XGUI_ViewWindow*, QMouseEvent*)));
void XGUI_Viewer::onWindowActivated(QMdiSubWindow* view)
{
if (view && (view != myActiveView) && (!view->isMinimized())) {
- qDebug("onWindowActivated");
myActiveView = view;
((XGUI_ViewWindow*)myActiveView->widget())->windowActivated();
QList<QMdiSubWindow*>::iterator aIt;
*/
void XGUI_Viewer::onMouseMove(XGUI_ViewWindow* theWindow, QMouseEvent* theEvent)
{
+ myCurPnt.setX(theEvent->x()); myCurPnt.setY(theEvent->y());
if (!mySelectionEnabled) return;
- myCurPnt.setX(theEvent->x()); myCurPnt.setY(theEvent->y());
Handle(V3d_View) aView3d = theWindow->viewPort()->getView();
if ( !aView3d.IsNull() ) {
myAISContext->MoveTo(theEvent->x(), theEvent->y(), aView3d);
// emit deselection();
if (myStartPnt == myEndPnt) {
+ // the MoveTo is necessary for the second click in the same point. Otherwise the selection is lost.
+ Handle(V3d_View) aView3d = theWindow->viewPort()->getView();
+ if ( !aView3d.IsNull() ) {
+ myAISContext->MoveTo(theEvent->x(), theEvent->y(), aView3d);
+ }
if (aHasShift && myMultiSelectionEnabled)
myAISContext->ShiftSelect();
else
}
//******************************************************
-void XGUI_Viewer::onContextMenuRequested(QContextMenuEvent* theEvent)
-{
- XGUI_ViewWindow* aWnd = dynamic_cast<XGUI_ViewWindow*>(sender());
- if (!aWnd) return;
-
- QMenu aMenu;
-
- // Include Viewer actions
- if (myActions.size() > 0) {
- aMenu.addActions(myActions);
- aMenu.addSeparator();
- }
- if (aWnd->actions().size() > 0) {
- aMenu.addActions(aWnd->actions());
- aMenu.addSeparator();
- }
-
- QMdiArea* aMDI = myMainWindow->mdiArea();
- if (aMenu.actions().size() > 0) {
- QMenu* aSubMenu = aMenu.addMenu(tr("Windows"));
- aSubMenu->addActions(aMDI->actions());
- } else {
- aMenu.addActions(aMDI->actions());
- }
- aMenu.exec(theEvent->globalPos());
-}
\ No newline at end of file
+//void XGUI_Viewer::onContextMenuRequested(QContextMenuEvent* theEvent)
+//{
+// XGUI_ViewWindow* aWnd = dynamic_cast<XGUI_ViewWindow*>(sender());
+// if (!aWnd) return;
+//
+// QMenu aMenu;
+//
+// // Include Viewer actions
+// if (myActions.size() > 0) {
+// aMenu.addActions(myActions);
+// aMenu.addSeparator();
+// }
+// if (aWnd->actions().size() > 0) {
+// aMenu.addActions(aWnd->actions());
+// aMenu.addSeparator();
+// }
+//
+// QMdiArea* aMDI = myMainWindow->mdiArea();
+// if (aMenu.actions().size() > 0) {
+// QMenu* aSubMenu = aMenu.addMenu(tr("Windows"));
+// aSubMenu->addActions(aMDI->actions());
+// } else {
+// aMenu.addActions(aMDI->actions());
+// }
+// aMenu.exec(theEvent->globalPos());
+//}