View Issue Details

IDProjectCategoryView StatusLast Update
0000403FreeCADFeaturepublic2011-09-16 04:28
Reporterlparry91 Assigned To 
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionno change required 
Product Versiontrunk 
Summary0000403: is SHIFT / CONTROL pressed with mousebutton: see ViewProviderSketch::mouseButtonPressed()
DescriptionI am looking to implement selection using the SHIFT key in the sketcher. It doesn't feel natural as a user at the moment.

I understand that there is ViewProviderSketch::keyPressed() method and it maybe possible to create a class member such as selectPressed but it seems very wrong.

I have found that there is a method for detecting these in coin3d but is a member SoMouseButtonEvent. In Gui/ViewProvider.cpp would it be possible to pass this event as an optional event argument in the event in mouseButtonPressed() and mouseMove.

It would give greater flexibility.
TagsNo tags attached.
FreeCAD Information

Activities

Jriegel

2011-07-20 14:49

administrator   ~0000932

The Sketcher is in edit always in greedy selection mode. Thats by purpose.
It would be also possible to do it non greedy. All events necessary reach the
event handling routines.

Im not sure what you want. Do you need addition interfaces to change
the standard FreeCAD behavior or do you want us to change it?

Jriegel

2011-07-20 14:51

administrator   ~0000933

Maybe the better place to discuss such unspecific matters is the developer forum:

http://forum.freecadweb.org/viewforum.php?f=10

unauthenticated

2011-07-21 18:10

viewer   ~0000934

Jriegel. Greedy Selection is fine for now. However, on a similar note. I want to create a doubleclick event on a datum or dimensioner in Sketch. The only parameters are void.

bool ViewProviderSketch::doubleClicked(void)

I am not sure where to look or change this in class hierarchy but it'd be nice if it were of similar to the mouseButtonPressed.

bool ViewProviderSketch::mouseButtonPressed(int Button, bool pressed, const SbVec3f &point, const SbVec3f &normal, const SoPickedPoint* pp)

In future I'll use the forum. ;)

unauthenticated

2011-07-21 18:10

viewer   ~0000935

Jriegel. Greedy Selection is fine for now. However, on a similar note. I want to create a doubleclick event on a datum or dimensioner in Sketch. The only parameters are void.

bool ViewProviderSketch::doubleClicked(void)

I am not sure where to look or change this in class hierarchy but it'd be nice if it were of similar to the mouseButtonPressed.

bool ViewProviderSketch::mouseButtonPressed(int Button, bool pressed, const SbVec3f &point, const SbVec3f &normal, const SoPickedPoint* pp)

In future I'll use the forum. ;)

Jriegel

2011-07-21 18:57

administrator   ~0000937

The only way Coin gives us there is measure the time between two mouse downs on the same object... There is no double click event of Coin...

The bool ViewProviderSketch::doubleClicked(void) is triggered by a double
click on the tree item.

Jriegel

2011-09-16 04:27

administrator   ~0001082

Since Luke already implemented double click I think this one is
not needed any more....

Issue History

Date Modified Username Field Change
2011-07-20 04:59 lparry91 New Issue
2011-07-20 14:49 Jriegel Note Added: 0000932
2011-07-20 14:51 Jriegel Note Added: 0000933
2011-07-21 18:10 unauthenticated Note Added: 0000934
2011-07-21 18:10 unauthenticated Note Added: 0000935
2011-07-21 18:57 Jriegel Note Added: 0000937
2011-09-16 04:27 Jriegel Note Added: 0001082
2011-09-16 04:27 Jriegel Status new => closed
2011-09-16 04:28 Jriegel Resolution open => no change required