PieMenu (v2.0)

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Locked
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

PieMenu (v2.0)

Post by triplus »

PieMenu (v2.0) development plan:
  • Button placeholder (empty button)
  • Subsequential PieMenu button
  • Subsequential PieMenu button icon support
  • Subsequential PieMenu button color support
  • Style Subsequential PieMenu button to differentiate it
  • Tools from toolbar button with menu should be added to Subsequential PieMenu
  • Support for defining module related PieMenus by module developer
  • Try to make module related PieMenus configurable by the PieMenu user
  • Configurable PieMenu invoke key
  • Set sensible default PieMenu invoke key
  • Shortcut key support for tool buttons
  • Provide visual feedback when the tool button key is set
  • Hide PieMenu when pressing the invoke key if the PieMenu is already visible
  • PieMenu invoke key + additional custom key to invoke different PieMenu
  • Limit module related PieMenu shortcut key combinations to work only in appropriate workbench
  • Investigate support to invoke PieMenu by mouse
  • Enable global context switch by default
  • Improve QComboBox style in context tab
  • Change location of the context related settings when that makes sense
  • Ability to create workbench specific PieMenu context conditions
  • Solver to provide the feedback when conflicts between set conditions are detected
  • Evolve the default PieMenu style in small steps and based on sensible feedback and suggestions
  • Rethink control panel to accommodate to plethora of planed features
  • Add close button to preferences dialog
  • Improve default stylesheet support (ID Selectors)
  • Outset border color should better align with white background
  • More predictable QuickMenu and Close button icon on all platforms
  • Global PieMenu reset button
  • Proximity hover trigger mode
  • Possibility to define and change default PieMenu for each workbench
  • Configurable radius for toolbar based PieMenu
  • Configurable button size for toolbar based PieMenu
  • Basic documentation
Code repository:
https://github.com/triplus/PieMenu

Reference:
https://forum.freecadweb.org/viewtopic. ... 60#p132866
User avatar
pablogil
Posts: 881
Joined: Wed Nov 26, 2014 3:19 pm
Location: Badajoz (Spain)
Contact:

Re: PieMenu (v2.0)

Post by pablogil »

Great to know you are finally pushing its development :)

Cheers
Dark and Light stylesheets v2.0 to theme your FreeCAD UI, more information here
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: PieMenu (v2.0)

Post by freecad-heini-1 »

Hi Triplus,
in the German Freecad forum section I started a thread on how to improve the look from Freecad, with desktop background-, sketcher elements colors and so on.
I created a video in German language to explain how to change the settings:
https://peertube.mastodon.host/videos/w ... 88788e5133

As you can see, my customized icon menu bar is full with helpful and most needed icons, so I think about to impove it using the piemenu.

Do you have a demo video to show how to set the piemenu and to show how nice and helpful it can be, and maybe speedup the work?
Sorry, my English is so lala. :?

Best regards
Wilfried
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: PieMenu (v2.0)

Post by triplus »

Hi Wilfried.

I plan to add documentation once i will consider the work to be finished. I occasionally add Use Cases describing on how something can be achieved. Try to follow one. This one for example describes on how to enable context sensitivity. And to auto show PieMenu based on the selection in the 3D view:

https://forum.freecadweb.org/viewtopic. ... 50#p132684

And see how that goes. Some Use Cases are available for other modules:

https://forum.freecadweb.org/viewtopic. ... 70#p243967

P.S. Note that the PieMenu version currently in development will likely have similar preferences as seen in the command panel. Therefore things will change a bit.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: PieMenu (v2.0)

Post by triplus »

OK CommandPanel back-end is more or less done. Will start releasing the work done in near future. As for the PieMenu. Before i port the CommandPanel back-end i feel that best if PieMenu front-end gets done. Therefore in near future this process will start.

And now for the first question. Some of you likely used PieMenu in the past and have some understanding of what is missing (for you). Or maybe something should be removed as it isn't used at all. If you compare that to the development plan above. Is there something else worth mentioning not already listed? Now is the time to express that as development plan can still adapt slightly.

Will read your feedback and will respond likely next weekend. Therefore there is roughly a full week available to provide feedback. That is if there is any (going beyond the development plan list above).

After this gets settled PieMenu front-end development phase will start and we can get more specific at proposed solutions. As for the development plan above. More or less everything is already in at least prototype condition. Most of it is in release condition and just needs some additional QA.
User avatar
easyw-fc
Veteran
Posts: 3629
Joined: Thu Jul 09, 2015 9:34 am

Re: PieMenu (v2.0)

Post by easyw-fc »

triplus wrote: Fri Sep 07, 2018 11:06 am And now for the first question. Some of you likely used PieMenu in the past and have some understanding of what is missing (for you). Or maybe something should be removed as it isn't used at all. If you compare that to the development plan above. Is there something else worth mentioning not already listed? Now is the time to express that as development plan can still adapt slightly.

Will read your feedback and will respond likely next weekend. Therefore there is roughly a full week available to provide feedback. That is if there is any (going beyond the development plan list above).
Hi,
1) default button from 'Tab' to 'Q' as in the previous thread

2) as an old request,
it would be nice to force place Pie Menu in an area in which all the Pie would be fully visible (i.e. if your mouse would be in a lateral area, force Pie Menu to be slightly moved to be fully displayed)
pie-menu-cropped.png
pie-menu-cropped.png (97.44 KiB) Viewed 10696 times
--
EDIT:
3) an option to add a menu to RMB to have Pie Menu entry in the context menu
pie-menu.png
pie-menu.png (7.16 KiB) Viewed 10690 times
--
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: PieMenu (v2.0)

Post by triplus »

Hi @easyw-fc

I said i will respond at the end of next week. But as you provided such comprehensive feedback a short reply is in order:

1.) Will happen (as a part of development plan).

2.) Yes. Multiple users asked in the past and i listened. Originally not a part of the development plan. But i have developed such functionality.

3.) As for the RMB. As a part of the development plan investigation on how to invoke the PieMenu with mouse is listed. Over time i somehow started to feel providing such option would interfere with context menu. Therefore i don't know if this will happen. Didn't decide on this 100% yet but likely it will not happen. As for having a PieMenu entry in the context menu. To be honest i am not all that sure that makes much sense? Keyboard shortcut to invoke PieMenu will likely be it. Especially as you will be able to define a keyboard shortcut for each command once invoked. And therefore PieMenu is in the end somehow geared towards the keyboard usage.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: PieMenu (v2.0)

Post by triplus »

First thanks for the provided feedback. What was discussed was included in the development plan as mentioned. I went over everything else again. Some of you convinced me in the past to include another feature (not currently listed in the development plan):
WIP_Style.png
WIP_Style.png (44.35 KiB) Viewed 10413 times
That is the button style should be configurable. Did bring some additional geometry issues to resolve but i guess it is worth to pursue this goal.

As for the developer expectations and some discussions in the past. I am leaning towards the idea of having a single instance running and for workbench developers to provide definitions and to define the behavior through API (dictionary). Compared to developers creating instances and to work with that by using the instance methods. As with instances each developer needs to think about things like setting the invoke shortcut. Preferences (if the user should be able to customize the (individual instance / workbench) pie menu experience) should therefore ideally be made available for each instance. As "Subsequential PieMenu button" will be able to invoke another pie menu. I feel that the need to have multiple pie menus defined is less important. Any further opinions on this aspect?
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: PieMenu (v2.0)

Post by Kunda1 »

Hi @triplus
Thanks for all your work on this feature. This is very exciting. So, I'm not sure this is covered, I haven't read all the auxiliary threads of this thread and I may have missed it in this thread all together... Is it possible that PieMenu can automagically/intuitevly populate itself based on the toolbar that one is currently utilizing? For example if one is constraining their sketch the way it seems to go is the ole' back and forth between the sketch and the constraint toolbar:
clicking on a point or line; perhaps clicking another point line; perhaps repeating that... and then moving the mouse pointer to the toolbar clicking the constraint. Then repeating again etc....

So Instead of this back and forth mentioned above does pie menu have a way to shorten the distance between the constraint buttons and the sketch itself?
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: PieMenu (v2.0)

Post by triplus »

First of all the strategy to develop PieMenu and Command Panel in parallel (again) turned out to be a bad strategy. Instead doubling the performance the overall day-to-day work done has reduced. Therefore in the next week or two i will try to finish Command Panel altogether. And after move to PieMenu development completely.
Kunda1 wrote: Mon Oct 01, 2018 9:59 pm Hi @triplus
Thanks for all your work on this feature. This is very exciting.
You're welcome.
Is it possible that PieMenu can automagically/intuitevly populate itself based on the toolbar that one is currently utilizing? For example if one is constraining their sketch the way it seems to go is the ole' back and forth between the sketch and the constraint toolbar:
clicking on a point or line; perhaps clicking another point line; perhaps repeating that... and then moving the mouse pointer to the toolbar clicking the constraint. Then repeating again etc....

So Instead of this back and forth mentioned above does pie menu have a way to shorten the distance between the constraint buttons and the sketch itself?
PieMenu does bring commands closer to mouse cursor and therefore the expected mouse distance to travel is less. Setting trigger mode to Hover saves you an additional click needed. Proximity trigger mode will further be able to reduce the mouse distance traveled and in combination with subsequential buttons it will likely enable the end users to perform "gesture alike" operations. Therefore doing some operation by "flying blind". In addition context sensitivity can be set and used to invoke PieMenu based on the selection in the 3D View:

https://forum.freecadweb.org/viewtopic. ... 50#p132684

If in some use case end user needs to perform some task repetitively. PieMenu can be invoked automatically by for example selecting two vertices in the 3D View.
Locked