Commit Graph

52 Commits

Author SHA1 Message Date
wmayer
b626b7d719 Gui: Optimize includes to reduce compile time 2022-03-09 01:25:29 +01:00
Uwe
6a0a6e006c [Gui] more work to remove unused includes 2022-02-21 00:03:13 +01:00
0penBrain
89706839e0 [Gui] Tree: implement collapse/expand system with keys
Implemented using Alt modifier + arrow keys
 * Alt+Left : collapse selected items
 * Alt+Right : expand selected items
 * Alt+Up : expand selected items with all tier-1 children collapsed
 * Alt+Down : expand selected items with all tier-1 children expanded
2021-12-03 18:08:47 +01:00
Chris Hennes
ded7adb798 Revert "Merge pull request #4626 from pavltom/GUI_TreeView_Item_Ordering"
This reverts commit b0452667c72f330323f6b3366f45bf039d05feef, reversing
changes made to b2d99f3fa7b4c7c305aed4a8d975a8624a6d590f.

See forums discussion: https://forum.freecadweb.org/viewtopic.php?p=549120
2021-11-24 09:03:35 -06:00
Tomas Pavlicek
17f328c7a9 [Gui] Issue #3923 - Arbitrary Tree item ordering + tests 2021-10-26 19:09:34 +02:00
donovaly
1940b5d7a3 [GUI] fix tree object context menu issues
- fix bug that you can select several objects across different document to make them a group
- fix bug that when more than one object is selected you get a context menu to rename, despite it is unclear what object should be renamed
- add feature to select also the child objects of the selection

The latter was also requested long time ago: https://tracker.freecadweb.org/view.php?id=2397
2021-10-25 11:14:53 +02:00
Benjamin Nauck
67f21d663d Gui: Add support for selecting multiple objects without keyboard
Adds checkboxes to the document tree which makes it possible to
select multiple document objects on devices without physical keyboard.

These checkboxes are opt-in and can be enabled/disabled from:
Edit -> Preferences -> Display -> Navigation -> Selection

Forum thread for feature the request:
https://forum.freecadweb.org/viewtopic.php?f=34&t=53065

We need to iterate the tree to add/remove the selection boxes when
the enable-setting has been changed.

The size for the first column in the tree is adjusted to fit both
name and optional checkbox.
2021-02-03 21:51:56 +01:00
luz paz
a8c3b239b8 Fix various typos [skip ci]
Found via `codespell v2.1.dev0`  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-12-12 08:07:47 +01:00
luz paz
38815b9550 Gui: Fix header uniformity, whitespace, and doxygen fixes 2020-11-26 10:14:56 +01:00
Zheng, Lei
885e990606 Gui: enable search box in stand alone TreeView dockable 2020-09-13 18:35:02 +02:00
luz.paz
ef37cc3930 Fix typos [skip-ci]
Found via codespell v1.18.0.dev0  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-06-29 20:52:23 +02:00
wmayer
c8dae9eb85 Qt5: 'void QTime::start()' / 'int QTime::elapsed() const' / 'int QTime::restart()' are deprecated: Use QElapsedTimer instead [-Wdeprecated-declarations] 2020-06-12 17:51:33 +02:00
Zheng, Lei
f29b07c143 Gui: change tree view select all behavior
Only select all objects of the current document
2019-12-08 15:07:36 +01:00
wmayer
f14371bc06 convert enum to enum class to fix -Wgnu-redeclared-enum 2019-11-13 22:39:27 +01:00
Zheng, Lei
aa01411c89 Gui: change default tree view document mode to Expand/Collapse 2019-10-08 10:28:13 +02:00
Zheng, Lei
8d7287b8a6 App/Gui: add ObjectStatus::NoAutoExpand
Used by App::Origin to disable selection auto expanding in tree view.
2019-10-08 10:23:57 +02:00
Zheng, Lei
959ec5dad3 Gui: remove FC_TREEPARAM, add document for class TreeParams 2019-09-27 15:49:42 +02:00
Zheng, Lei
8a99ef34ec Gui: use ExpressionLineEdit for tree view object search
Tree view is already using expression for object search. This patch
adds the expression completer feature for search result suggestion.
2019-08-30 14:50:15 +02:00
wmayer
4068df6483 Fix clang compiler warnings:
+ fix -Winconsistent-missing-override
+ fix -Wunused-variable
+ fix -Wbraced-scalar-init
+ fix -Wparentheses (View3DInventorViewer::checkGroupOnTop: operator '?:' has lower precedence than '+'; '+' will be evaluated first)
+ fix -Wundefined-bool-conversion (MainWindow::updateActions)
+ suppress -Woverloaded-virtual but fix later
2019-08-17 19:52:12 +02:00
Zheng, Lei
1fecb7c4cc Gui: fix tree view selection focus problem 2019-08-17 15:32:51 +02:00
Zheng, Lei
5f5ea31ec8 TreeView: update status on manual object touch 2019-08-17 15:32:51 +02:00
luz.paz
63a577fe07 Fix typos in src/Gio 2019-08-17 15:32:49 +02:00
Zheng, Lei
b2c74aca49 Fix build for older gcc 2019-08-17 15:32:48 +02:00
Zheng, Lei
81d3cf1b89 Gui: refactor tree view
* Major refactor of tree view to support external linking.

* Item update and selection change are now mostly handled by timer for
  performance improvement.

* Major change to drag and drop for better support of switching between
  copy, move and replace action, and auto adjustment of placement and
  relative link.

* Add second column for user changable object description.

* Unified tree view options and action into command group
  Std_TreeViewActions.

* Modified object search function to find external objects using
  Expression syntax.
2019-08-17 15:08:33 +02:00
wmayer
1308a02c83 when restoring object then only expand single items, not its parent items 2019-02-24 00:37:53 +01:00
wmayer
2100f16076 disconnect boost signals when destroying tree view 2019-01-18 16:33:48 +01:00
plgarcia
402487fb7e Improvement and correction drags and drops in tree views. 2018-11-16 13:14:57 +01:00
wmayer
fe016510ec add search function to tree view 2018-11-13 11:27:34 +01:00
wmayer
36271b4052 move from deprecated boost.signals to boost.signals2 library 2018-10-30 19:09:03 +01:00
wmayer
6e697ddebf Gui: Better visualization of the Active Object 2018-08-19 18:14:06 +02:00
wmayer
94a7330459 add signal to scroll to view object 2017-10-06 16:28:30 +02:00
Zheng, Lei
8f2aaa0934 TreeView: fix tree view performance
It seems on some system calling QTreeWidgetItem::takeChildren and then
addChild back is expensive. This fix avoids that but still keeps track
of item order in claimed children
2017-04-05 19:41:16 +02:00
Zheng, Lei
d3557d2105 Gui: made the TreeView stable
The TreeView item (DocumentObjectItem) and DocumentObject now have a N:1
relationship. Adding or removing object with claimed children no longer
affects existing TreeView items.
2017-03-26 18:53:36 +02:00
wmayer
f551bf9cc3 introduce flag to skip recomputes of a document when needed 2016-10-21 22:23:34 +02:00
Yorik van Havre
647956f697 Added "mark to recompute" action to tree view 2016-10-12 17:35:01 -03:00
Stefan Tröger
56492971c8 Remove redundant drag'n'drop interface
In the long time of parallel assembly development an own drag'n'drop interface has been added to master and assembly branch. After merge both have been available. This commit removes one and keeps the more extensive implementation
2016-10-08 12:48:34 +02:00
jriegel
be619b3e7d Generall Drag/Drop interface 2016-04-12 18:12:01 +02:00
jrheinlaender
8390bbb999 Work on inserting, removing, hiding and showing features in the body 2016-04-12 18:11:48 +02:00
jriegel
8eb0d198f8 First claimChildren3D implementation and Starting PartItem implementation 2016-04-12 18:11:45 +02:00
jriegel
d9b6c03304 Finally fixing the highlight code 2016-04-12 18:11:44 +02:00
jriegel
fd000dff8a Add highlighting of tree view items 2016-04-12 18:11:44 +02:00
jriegel
9b5f9b8e58 Commands and object making 2016-04-12 18:11:44 +02:00
Mateusz Skowroński
05f95c0506 Fix files encoding. Go from ISO8859-1 to UTF-8. 2015-09-21 19:50:49 -03:00
wmayer
afb2641c60 + fix possible crash in DocumentItem 2015-02-01 12:09:37 +01:00
wmayer
567a0e3fc4 + fixes #0001905: Group-ordering of orphaned children not working as expected 2015-01-11 22:15:18 +01:00
wmayer
27a1f62d7e + drag and drop on tree widget 2014-03-12 14:38:00 +01:00
wmayer
4e89fd1b6e + Avoid cyclic dependency of tree items 2014-03-11 19:27:46 +01:00
wmayer
46c606e864 Prepare tree view to show for multiple referenced objects more tree items 2013-05-08 14:47:20 +02:00
wmayer
8eb07e0184 Make information if tree item is expanded/collapsed persistent 2013-04-29 14:30:26 +02:00
wmayer
436386c005 Fix typos 2013-04-28 17:33:48 +02:00