Commit Graph

69 Commits

Author SHA1 Message Date
André Althaus
15944bb079 Add a function to recalculate the icons for use when the visibility icon preference changes 2024-02-21 19:25:13 +01:00
André Althaus
47bbc1f6af Toggle visibility when clicking the visibility icon
If the visibility icon is enabled a mouse press on that part of the icon
toggles the visibility of the tree item.
2024-02-21 19:25:13 +01:00
Zheng, Lei
bf9584a90b Gui: add support for transparent overlay docking widget 2023-10-11 09:58:53 +02:00
wmayer
56820718c5 Core: Revert superfluous changes made with PR #9521 2023-10-09 15:06:45 +02:00
AgCaliva
0c4ef0e106 merge master 2023-08-08 23:29:40 -03:00
wmayer
d244dcf2da modernize C++: use nullptr 2023-08-05 11:23:12 -06:00
AgCaliva
52c55f59a8 Implementing agnostic version of ParameterGrp for reading XML, replacing XMLReader from src/Base/reader.cpp with new class DocumentReader 2023-06-16 15:36:43 -03:00
Ronny Standtke
683dd82fa5 added support for multi selection when toggling visibility in tree view 2023-04-13 17:15:29 +02:00
wmayer
ac81fad372 Gui: refactor TreeWidget::dropEvent 2023-01-12 19:40:59 +01:00
Zheng, Lei
41dcee396d Gui: split out TreeParams into its own source files
Auto generated using TreeParams.py
2022-12-03 17:08:17 -06:00
wmayer
af0a014cf2 Qt6 port:
* QApplication::setFallbackSessionManagementEnabled has been removed
* QString::medRef() has been removed. Use QString::mid() again.
* QTextStream::setCodec has been removed
* Use operator QVariant of the QFont class to make code Qt5 and Qt6 compatible
* Signature of QTreeWidget::mimeData() has changed in Qt6. Remove TreeWidget::mimeData() because it doesn't change the implementation
* QLayout::setMargin() is deprecated in Qt5 and has been removed in Qt6. Use QLayout::setContentsMargins()
* QDateTime::toTime_t() is deprecated in Qt5 and has been removed in Qt6. Use QDateTime::toSecsSinceEpoch()
* QDesktopWidget is deprecated in Qt5 and has been removed in Qt6. Use QScreen
2022-11-01 16:55:40 +01:00
wmayer
ba8d5ab055 Gui: modernize C++: replace 'typedef' with 'using' 2022-08-29 14:09:18 +02:00
berniev
a909df7f39 Gui: Single arg ctors must be explicit (PR #7369) 2022-08-24 15:06:03 +02:00
berniev
0c70d45c83 Gui: Use override etc 2 2022-08-09 12:43:23 +02:00
berniev
656ef8961f Gui: redundant void 2 2022-08-08 10:21:44 +02:00
0penBrain
e8ed31f391 Gui: add parameter switch to optionally stretch 'Description' column of Tree view 2022-04-15 18:22:02 +02:00
wmayer
96adb98f46 Gui: modernize C++11
* use nullptr
2022-03-23 18:41:21 +01:00
wmayer
9e91a8991e Gui: Optimize includes to reduce compile time 2022-03-09 01:25:29 +01:00
Uwe
6bf4cf7b41 [Gui] more work to remove unused includes 2022-02-21 00:03:13 +01:00
0penBrain
92a8e0e3d8 [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
c9a74d40d2 Revert "Merge pull request #4626 from pavltom/GUI_TreeView_Item_Ordering"
This reverts commit c62239d0ba, reversing
changes made to bef1df4d40.

See forums discussion: https://forum.freecadweb.org/viewtopic.php?p=549120
2021-11-24 09:03:35 -06:00
Tomas Pavlicek
345dcd5252 [Gui] Issue #3923 - Arbitrary Tree item ordering + tests 2021-10-26 19:09:34 +02:00
donovaly
67e8fd0b6a [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
05c61e349a 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
cb58706e80 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
298c677873 Gui: Fix header uniformity, whitespace, and doxygen fixes 2020-11-26 10:14:56 +01:00
Zheng, Lei
d6748a030f Gui: enable search box in stand alone TreeView dockable 2020-09-13 18:35:02 +02:00
luz.paz
1da81df756 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
2c113442a7 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
50f4c012b4 Gui: change tree view select all behavior
Only select all objects of the current document
2019-12-08 15:07:36 +01:00
wmayer
1e7628f436 convert enum to enum class to fix -Wgnu-redeclared-enum 2019-11-13 22:39:27 +01:00
Zheng, Lei
059b2d4257 Gui: change default tree view document mode to Expand/Collapse 2019-10-08 10:28:13 +02:00
Zheng, Lei
4eadbd038d 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
68aca247ee Gui: remove FC_TREEPARAM, add document for class TreeParams 2019-09-27 15:49:42 +02:00
Zheng, Lei
b39771aa84 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
5172c3bc08 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
20c628fc0c Gui: fix tree view selection focus problem 2019-08-17 15:32:51 +02:00
Zheng, Lei
78ce18ace4 TreeView: update status on manual object touch 2019-08-17 15:32:51 +02:00
luz.paz
0f67e8ddfa Fix typos in src/Gio 2019-08-17 15:32:49 +02:00
Zheng, Lei
9223f08b48 Fix build for older gcc 2019-08-17 15:32:48 +02:00
Zheng, Lei
c18bf11821 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
4e973324ae when restoring object then only expand single items, not its parent items 2019-02-24 00:37:53 +01:00
wmayer
42d7c7afd3 disconnect boost signals when destroying tree view 2019-01-18 16:33:48 +01:00
plgarcia
f89b996396 Improvement and correction drags and drops in tree views. 2018-11-16 13:14:57 +01:00
wmayer
6a6ea0a5a6 add search function to tree view 2018-11-13 11:27:34 +01:00
wmayer
f898eafd64 move from deprecated boost.signals to boost.signals2 library 2018-10-30 19:09:03 +01:00
wmayer
a1b0c2ff32 Gui: Better visualization of the Active Object 2018-08-19 18:14:06 +02:00
wmayer
941cc68efc add signal to scroll to view object 2017-10-06 16:28:30 +02:00
Zheng, Lei
1d60277c1f 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
b95674db03 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