Improved groups tool

Hey all… I just finished up improving the groups tool and just giving an overview before pushing the updates.

The big difference in the groups is the change in workflow, where now you can create new groups, each with it’s own color, line type and line weight (which will be used in a second round of improvements to the tool dialogs and tools)… BEFORE adding any objects to them.


Groups can be added in the expanded Group Manager. From the row of group tool buttons you can Add, Delete or Edit a group. Besides the usual show / hide, you can also lock / unlock a group from editing, add or removing objects. The Groups table will now display whether it’s visible, locked, contains objects, and the group color (the default is black).


Below the Groups table is a new Objects list, which will display a list of the objects in the selected group. Double clicking on an object will Zoom to that object. Specifically - if it’s a point it will zoom to the point. If it’s an Arc / ElArc it will zoom to the center point. If it’s a line or curve it will zoom to the first point - usually the first point in the object name. Also if the object is hidden, the group’s visibility will be changed to show - even if it’s locked - so that the object is visible when zoomed to. The only exception to this (at this time) is with the operation tools such as move, rotate, mirror & dart. This is due to the nature that a tool id can have multiple object id’s and I haven’t quite figured out how to get the object id’s as they don’t show up in the ‘selected’ item - just the tool id

So… using the context menu on the Objects list allows you to remove or “move” an object to another group.


Objects can be added to a group in one of 2 ways… the old way, by selecting the Group tool, then selecting the objects either one by one or rubber banding. Pressing enter pops up a new dialog to select which group to add the objects to. Groups are no longer created after selecting a group of objects - it was kinda of wonky trying to make the existing dialog create a new group or adding to an existing group. Now you just select from a drop down the group to add to.


The second way to add or remove a single object is with the context menu.


The other notable change is making the docks vertical tabbing, as well as making all the docks enabled across the 3 modes. This makes better use of the dock space an eliminates a lot of scrolling and resizing to view the dock contents. In other words you can now - more or less - see the whole Property Editor, Group Manager, or Layout contents the full height of the dock. The Groups and Object content is in a splitter that is saved to the settings whenever you resize them. The vertical tabbing will also allow to add future widgets to the dock.

propsdock layoutdock

Also for what it’s worth here’s an example of a completety different workspace by moving the dock widgets around.

Future Group improvements will revolve around being able to add a new tool a given group, as well as selecting to use the group color, linetype, or line weight. This greatly speeds up the workflow as you can add a tool to a group as you create it rather than having to painfully add a group & tools as it currently exists.


Better example of the Property Editor needing more vertical space… the ElArc is probably the worst case.


Oh… I should note that while this feature will be in the Dialog and Prop Editor improvement PR before the groups improvements… clicking in a formula field automatically expands the field without having to click the “grow” button… and it automatically shrinks when it looses focus. I’ll probably carry that over into round 2 of the Dialog improvements.


This is so awesome, Thanks @Douglas !!!


Ok… next round of inprovements to the Groups will be the inclusion of a group attribute to the tool dialogs that will allow a user to select which group to place the new tool in. The default is “No Group”… with the pen style being the attribyes of the current pen - as displayed in the Pen toolbar.


I figured in the case where the group was changed from a group to No Group, the pen reverts back to the current pen. May revist this bahavior as I test more.

In the case where a user selects a group, the pen attributes will be set to “By Group”. Also the Edit Group and Set to Group tool buttons become active. The Set to Group icon will probably change - just needed a placeholder.


The Set to Group button will set all the attributes to the current Group in the event any of them have been overridden. Which is what I may need to revist… we may want to preserve overridden settings if we switch groups, and not have them all set to By Group with the new group pen.