Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

question (not an issue) - order of things in tree view #203

Closed
bambukouk opened this issue Nov 8, 2021 · 3 comments
Closed

question (not an issue) - order of things in tree view #203

bambukouk opened this issue Nov 8, 2021 · 3 comments

Comments

@bambukouk
Copy link

bambukouk commented Nov 8, 2021

Is it possible to re-arrange the order of items listed in the tree view?
Functionally it doesn't make any difference to FreeCAD, but to me as a user keeping things tidy and in (my preferred) order makes things easy to handle.
Unfortunately depending on the order I create things, they end up listed a bit randomly (from my human/user point of view)...

I know that in Assembly 3 one can arrow things up and down easily - is this (or something similar) possible in link branch tree view outside of Assembly 3?
or... is it still down to main branch and it's limitations?
(see: FreeCAD#4626)

@wohltat
Copy link

wohltat commented Nov 13, 2021

I really miss sorting elements in tree view. Optimally this should be as simple as dragging it to another position with a line indicating where it will be placed.

@bambukouk
Copy link
Author

Thank you @realthunder
Hopefully it will not suffer from the problems described on FreeCAD forum 👍

@wohltat
Copy link

wohltat commented Dec 5, 2021

awesome, looking forward to see this in action

realthunder added a commit that referenced this issue Jan 6, 2022
Refactored from upstream commit 345dcd5

Root level item is ordered by new property 'TreeRank' in
DocumentObject. It is added to DocumentObject instead of ViewObject to
support undo/redo.

New APIs added to help reordering objects, Document::reorderObjects(),
Document::treeRanks() (for tree rank ranges, exposed to Python as
Document.TreeRanks). User can also reorder objects by directly modify
TreeRank property.

Children items reordering is done by new API
ViewProvider::canReplaceObject()/replaceObjects(). Existing
implementation of API (can)ReplaceObject() is adjusted because it was
originally used to perform reorder operation in some cases.

Closes #203
realthunder added a commit that referenced this issue Jan 7, 2022
Refactored from upstream commit 345dcd5

Root level item is ordered by new property 'TreeRank' in
DocumentObject. It is added to DocumentObject instead of ViewObject to
support undo/redo.

New APIs added to help reordering objects, Document::reorderObjects(),
Document::treeRanks() (for tree rank ranges, exposed to Python as
Document.TreeRanks). User can also reorder objects by directly modify
TreeRank property.

Children items reordering is done by new API
ViewProvider::canReplaceObject()/replaceObjects(). Existing
implementation of API (can)ReplaceObject() is adjusted because it was
originally used to perform reorder operation in some cases.

Closes #203
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants