Sketcher: Don't show the context menu after rubber band selection
This commit is contained in:
committed by
Chris Hennes
parent
ac3b441cba
commit
39329e547f
@@ -644,6 +644,8 @@ ViewProviderSketch::ViewProviderSketch()
|
||||
updateColorPropertiesVisibility();
|
||||
|
||||
pcSketchFacesToggle->addChild(pcSketchFaces);
|
||||
|
||||
blockContextMenu = false;
|
||||
}
|
||||
|
||||
ViewProviderSketch::~ViewProviderSketch()
|
||||
@@ -1141,6 +1143,7 @@ bool ViewProviderSketch::mouseButtonPressed(int Button, bool pressed, const SbVe
|
||||
case STATUS_SKETCH_UseRubberBand:
|
||||
doBoxSelection(DoubleClick::prvCursorPos, cursorPos, viewer);
|
||||
rubberband->setWorking(false);
|
||||
blockContextMenu = true;
|
||||
|
||||
// use draw(false, false) to avoid solver geometry with outdated construction flags
|
||||
draw(false, false);
|
||||
@@ -1162,6 +1165,8 @@ bool ViewProviderSketch::mouseButtonPressed(int Button, bool pressed, const SbVe
|
||||
// Right mouse button ****************************************************
|
||||
else if (Button == 2) {
|
||||
if (pressed) {
|
||||
blockContextMenu = false;
|
||||
|
||||
// Do things depending on the mode of the user interaction
|
||||
switch (Mode) {
|
||||
case STATUS_NONE: {
|
||||
@@ -3714,6 +3719,8 @@ void ViewProviderSketch::setEditViewer(Gui::View3DInventorViewer* viewer, int Mo
|
||||
cameraSensor.setData(camSensorData);
|
||||
cameraSensor.setDeleteCallback(&ViewProviderSketch::camSensDeleteCB, camSensorData);
|
||||
cameraSensor.attach(viewer->getCamera());
|
||||
|
||||
blockContextMenu = false;
|
||||
}
|
||||
|
||||
void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer)
|
||||
@@ -3727,6 +3734,8 @@ void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer)
|
||||
viewer->removeGraphicsItem(rubberband.get());
|
||||
viewer->setEditing(false);
|
||||
viewer->setSelectionEnabled(true);
|
||||
|
||||
blockContextMenu = false;
|
||||
}
|
||||
|
||||
void ViewProviderSketch::camSensDeleteCB(void* data, SoSensor *s)
|
||||
@@ -4365,6 +4374,8 @@ bool ViewProviderSketch::isInEditMode() const
|
||||
}
|
||||
void ViewProviderSketch::generateContextMenu()
|
||||
{
|
||||
if (blockContextMenu) return;
|
||||
|
||||
int selectedEdges = 0;
|
||||
int selectedLines = 0;
|
||||
int selectedConics = 0;
|
||||
|
||||
@@ -991,6 +991,8 @@ private:
|
||||
|
||||
SoNodeSensor cameraSensor;
|
||||
int viewOrientationFactor; // stores if sketch viewed from front or back
|
||||
|
||||
bool blockContextMenu;
|
||||
};
|
||||
|
||||
} // namespace SketcherGui
|
||||
|
||||
Reference in New Issue
Block a user