From 70a008181aef33272346e7ae45f8838354346ead Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 12 Aug 2020 11:03:48 +0100 Subject: SvTreeListBox can move into toolkit headers now MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I6b3b6ef1530a192f4b6bf87aa9688687063683ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100591 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- .../inc/extended/accessiblelistboxentry.hxx | 2 +- accessibility/inc/pch/precompiled_acc.hxx | 23 +- .../source/extended/accessiblelistbox.cxx | 4 +- .../source/extended/accessiblelistboxentry.cxx | 2 +- basctl/inc/pch/precompiled_basctl.hxx | 15 +- chart2/inc/pch/precompiled_chartcontroller.hxx | 5 +- chart2/inc/pch/precompiled_chartcore.hxx | 3 +- comphelper/inc/pch/precompiled_comphelper.hxx | 4 +- connectivity/inc/pch/precompiled_ado.hxx | 5 +- connectivity/inc/pch/precompiled_calc.hxx | 3 +- connectivity/inc/pch/precompiled_dbase.hxx | 3 +- connectivity/inc/pch/precompiled_dbpool2.hxx | 3 +- connectivity/inc/pch/precompiled_dbtools.hxx | 3 +- connectivity/inc/pch/precompiled_firebird_sdbc.hxx | 9 +- connectivity/inc/pch/precompiled_flat.hxx | 4 +- connectivity/inc/pch/precompiled_mysql_jdbc.hxx | 5 +- connectivity/inc/pch/precompiled_odbc.hxx | 3 +- cppcanvas/inc/pch/precompiled_cppcanvas.hxx | 4 +- cppuhelper/inc/pch/precompiled_cppuhelper.hxx | 3 +- cui/inc/pch/precompiled_cui.hxx | 15 +- dbaccess/inc/pch/precompiled_dba.hxx | 3 +- dbaccess/inc/pch/precompiled_dbu.hxx | 5 +- desktop/inc/pch/precompiled_deployment.hxx | 5 +- desktop/inc/pch/precompiled_deploymentgui.hxx | 3 +- desktop/inc/pch/precompiled_sofficeapp.hxx | 5 +- drawinglayer/inc/pch/precompiled_drawinglayer.hxx | 4 +- emfio/inc/pch/precompiled_emfio.hxx | 3 +- external/skia/inc/pch/precompiled_skia.hxx | 3 +- framework/inc/pch/precompiled_fwk.hxx | 5 +- include/vcl/toolkit/svlbitm.hxx | 2 +- include/vcl/toolkit/svtabbx.hxx | 2 +- include/vcl/toolkit/treelist.hxx | 302 +++++++++ include/vcl/toolkit/treelistbox.hxx | 704 +++++++++++++++++++++ include/vcl/toolkit/treelistentries.hxx | 23 + include/vcl/toolkit/treelistentry.hxx | 132 ++++ include/vcl/toolkit/viewdataentry.hxx | 86 +++ include/vcl/treelist.hxx | 301 --------- include/vcl/treelistbox.hxx | 703 -------------------- include/vcl/treelistentries.hxx | 21 - include/vcl/treelistentry.hxx | 131 ---- include/vcl/uitest/uiobject.hxx | 1 - include/vcl/viewdataentry.hxx | 85 --- lotuswordpro/inc/pch/precompiled_lwpft.hxx | 4 +- oox/inc/pch/precompiled_oox.hxx | 3 +- package/inc/pch/precompiled_package2.hxx | 10 +- package/inc/pch/precompiled_xstor.hxx | 4 +- reportdesign/inc/pch/precompiled_rpt.hxx | 7 +- reportdesign/inc/pch/precompiled_rptui.hxx | 12 +- reportdesign/inc/pch/precompiled_rptxml.hxx | 8 +- sc/inc/pch/precompiled_sc.hxx | 5 +- sc/inc/pch/precompiled_scfilt.hxx | 4 +- sc/inc/pch/precompiled_vbaobj.hxx | 3 +- sd/inc/pch/precompiled_sd.hxx | 7 +- sd/inc/pch/precompiled_sdui.hxx | 7 +- .../inc/pch/precompiled_PresentationMinimizer.hxx | 8 +- sdext/inc/pch/precompiled_PresenterScreen.hxx | 8 +- sfx2/inc/pch/precompiled_sfx.hxx | 6 +- slideshow/inc/pch/precompiled_slideshow.hxx | 4 +- solenv/clang-format/excludelist | 8 +- starmath/inc/pch/precompiled_sm.hxx | 4 +- svl/inc/pch/precompiled_svl.hxx | 4 +- svtools/inc/pch/precompiled_svt.hxx | 3 +- svx/inc/pch/precompiled_svx.hxx | 5 +- svx/inc/pch/precompiled_svxcore.hxx | 7 +- sw/inc/pch/precompiled_msword.hxx | 9 +- sw/inc/pch/precompiled_sw.hxx | 11 +- sw/inc/pch/precompiled_swui.hxx | 5 +- sw/inc/pch/precompiled_vbaswobj.hxx | 4 +- toolkit/source/controls/tree/treecontrolpeer.cxx | 6 +- unotools/inc/pch/precompiled_utl.hxx | 6 +- uui/inc/pch/precompiled_uui.hxx | 3 +- vbahelper/inc/pch/precompiled_msforms.hxx | 6 +- vcl/inc/iconview.hxx | 2 +- vcl/inc/pch/precompiled_vcl.hxx | 10 +- vcl/inc/svimpbox.hxx | 2 +- vcl/source/app/salvtables.cxx | 4 +- vcl/source/treelist/iconview.cxx | 4 +- vcl/source/treelist/svimpbox.cxx | 6 +- vcl/source/treelist/svlbitm.cxx | 6 +- vcl/source/treelist/svtabbx.cxx | 2 +- vcl/source/treelist/treelist.cxx | 6 +- vcl/source/treelist/treelistbox.cxx | 6 +- vcl/source/treelist/treelistentry.cxx | 2 +- vcl/source/treelist/uiobject.cxx | 4 +- vcl/source/treelist/viewdataentry.cxx | 2 +- vcl/source/window/builder.cxx | 2 +- writerfilter/inc/pch/precompiled_writerfilter.hxx | 6 +- xmloff/inc/pch/precompiled_xo.hxx | 4 +- xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx | 5 +- xmlsecurity/inc/pch/precompiled_xsec_xmlsec.hxx | 2 +- 90 files changed, 1398 insertions(+), 1505 deletions(-) create mode 100644 include/vcl/toolkit/treelist.hxx create mode 100644 include/vcl/toolkit/treelistbox.hxx create mode 100644 include/vcl/toolkit/treelistentries.hxx create mode 100644 include/vcl/toolkit/treelistentry.hxx create mode 100644 include/vcl/toolkit/viewdataentry.hxx delete mode 100644 include/vcl/treelist.hxx delete mode 100644 include/vcl/treelistbox.hxx delete mode 100644 include/vcl/treelistentries.hxx delete mode 100644 include/vcl/treelistentry.hxx delete mode 100644 include/vcl/viewdataentry.hxx diff --git a/accessibility/inc/extended/accessiblelistboxentry.hxx b/accessibility/inc/extended/accessiblelistboxentry.hxx index 1d565046d59a..279978a34ccf 100644 --- a/accessibility/inc/extended/accessiblelistboxentry.hxx +++ b/accessibility/inc/extended/accessiblelistboxentry.hxx @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include // forward --------------------------------------------------------------- diff --git a/accessibility/inc/pch/precompiled_acc.hxx b/accessibility/inc/pch/precompiled_acc.hxx index a79bfdc5884f..fd794b6b9894 100644 --- a/accessibility/inc/pch/precompiled_acc.hxx +++ b/accessibility/inc/pch/precompiled_acc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:12 using: + Generated on 2020-08-12 11:04:15 using: ./bin/update_pch accessibility acc --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -50,7 +50,6 @@ #include #include #include -#include #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 #include @@ -66,7 +65,6 @@ #include #include #include -#include #include #include #include @@ -88,18 +86,12 @@ #include #include #include -#include -#include -#include #include #include #include -#include #include #include #include -#include -#include #include #include #include @@ -115,8 +107,6 @@ #include #include #include -#include -#include #include #include #include @@ -129,7 +119,6 @@ #include #include #include -#include #include #include #include @@ -141,16 +130,15 @@ #include #include #include +#include +#include +#include #include -#include -#include -#include #include #include #include #include #include -#include #include #include #include @@ -170,7 +158,6 @@ #include #include #include -#include #include #include #include @@ -317,7 +304,6 @@ #include #include #include -#include #include #include #include @@ -330,7 +316,6 @@ #include #include #include -#include #include #include #include diff --git a/accessibility/source/extended/accessiblelistbox.cxx b/accessibility/source/extended/accessiblelistbox.cxx index 1e1946fe4224..94050529fce4 100644 --- a/accessibility/source/extended/accessiblelistbox.cxx +++ b/accessibility/source/extended/accessiblelistbox.cxx @@ -19,8 +19,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx b/accessibility/source/extended/accessiblelistboxentry.cxx index 40729de1bcb8..77f9cfc34341 100644 --- a/accessibility/source/extended/accessiblelistboxentry.cxx +++ b/accessibility/source/extended/accessiblelistboxentry.cxx @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include #include diff --git a/basctl/inc/pch/precompiled_basctl.hxx b/basctl/inc/pch/precompiled_basctl.hxx index 1e98ab6c9d2f..ebdbe314890c 100644 --- a/basctl/inc/pch/precompiled_basctl.hxx +++ b/basctl/inc/pch/precompiled_basctl.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:13 using: + Generated on 2020-08-12 11:04:16 using: ./bin/update_pch basctl basctl --cutoff=3 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -57,7 +57,6 @@ #include #include #include -#include #include #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 @@ -75,8 +74,6 @@ #include #include #include -#include -#include #include #include #include @@ -132,12 +129,12 @@ #include #include #include +#include #include #include #include #include #include -#include #include #include #include @@ -265,6 +262,7 @@ #include #include #include +#include #include #include #include @@ -295,7 +293,6 @@ #include #include #include -#include #include #include #include @@ -318,7 +315,6 @@ #include #include #include -#include #include #include #include @@ -340,7 +336,7 @@ #include #include #include -#include +#include #include #include #include @@ -404,6 +400,7 @@ #include #include #include +#include #include #include #include @@ -459,7 +456,6 @@ #include #include #include -#include #include #include #include @@ -477,7 +473,6 @@ #include #include #include -#include #include #include #include diff --git a/chart2/inc/pch/precompiled_chartcontroller.hxx b/chart2/inc/pch/precompiled_chartcontroller.hxx index 3881a45197fc..547e897a2b8a 100644 --- a/chart2/inc/pch/precompiled_chartcontroller.hxx +++ b/chart2/inc/pch/precompiled_chartcontroller.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:15 using: + Generated on 2020-08-12 11:04:21 using: ./bin/update_pch chart2 chartcontroller --cutoff=6 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -252,7 +252,6 @@ #include #include #include -#include #include #include #include @@ -288,7 +287,6 @@ #include #include #include -#include #include #include #include @@ -389,7 +387,6 @@ #include #include #include -#include #include #include #include diff --git a/chart2/inc/pch/precompiled_chartcore.hxx b/chart2/inc/pch/precompiled_chartcore.hxx index 3e88be05c216..194a3678e2e7 100644 --- a/chart2/inc/pch/precompiled_chartcore.hxx +++ b/chart2/inc/pch/precompiled_chartcore.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:16 using: + Generated on 2020-08-12 11:04:23 using: ./bin/update_pch chart2 chartcore --cutoff=3 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -127,6 +127,7 @@ #include #include #include +#include #include #include #include diff --git a/comphelper/inc/pch/precompiled_comphelper.hxx b/comphelper/inc/pch/precompiled_comphelper.hxx index aff3397332e4..282a499575cc 100644 --- a/comphelper/inc/pch/precompiled_comphelper.hxx +++ b/comphelper/inc/pch/precompiled_comphelper.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:16 using: + Generated on 2020-08-12 11:04:23 using: ./bin/update_pch comphelper comphelper --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -76,7 +76,6 @@ #include #include #include -#include #include #include #include @@ -192,7 +191,6 @@ #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_ado.hxx b/connectivity/inc/pch/precompiled_ado.hxx index 5bcaf702766b..e1002e6f5ad7 100644 --- a/connectivity/inc/pch/precompiled_ado.hxx +++ b/connectivity/inc/pch/precompiled_ado.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:16 using: + Generated on 2020-08-12 11:14:39 using: ./bin/update_pch connectivity ado --cutoff=2 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -76,7 +75,6 @@ #include #include #include -#include #include #include #include @@ -88,7 +86,6 @@ #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_calc.hxx b/connectivity/inc/pch/precompiled_calc.hxx index 2c36c7a89818..4ca7fa2ec671 100644 --- a/connectivity/inc/pch/precompiled_calc.hxx +++ b/connectivity/inc/pch/precompiled_calc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-01-22 15:57:33 using: + Generated on 2020-08-12 11:04:25 using: ./bin/update_pch connectivity calc --cutoff=2 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -35,7 +35,6 @@ #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_dbase.hxx b/connectivity/inc/pch/precompiled_dbase.hxx index 2d07d4e4ea4f..1b1914b168ea 100644 --- a/connectivity/inc/pch/precompiled_dbase.hxx +++ b/connectivity/inc/pch/precompiled_dbase.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:17 using: + Generated on 2020-08-12 11:04:26 using: ./bin/update_pch connectivity dbase --cutoff=2 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -68,7 +68,6 @@ #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_dbpool2.hxx b/connectivity/inc/pch/precompiled_dbpool2.hxx index b78f7d5a8f68..90b6a4be8a7f 100644 --- a/connectivity/inc/pch/precompiled_dbpool2.hxx +++ b/connectivity/inc/pch/precompiled_dbpool2.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-01-22 15:57:34 using: + Generated on 2020-08-12 11:04:26 using: ./bin/update_pch connectivity dbpool2 --cutoff=5 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -50,7 +50,6 @@ #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_dbtools.hxx b/connectivity/inc/pch/precompiled_dbtools.hxx index 9111bdba1c1c..8eddcad7e521 100644 --- a/connectivity/inc/pch/precompiled_dbtools.hxx +++ b/connectivity/inc/pch/precompiled_dbtools.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:17 using: + Generated on 2020-08-12 11:04:27 using: ./bin/update_pch connectivity dbtools --cutoff=2 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_firebird_sdbc.hxx b/connectivity/inc/pch/precompiled_firebird_sdbc.hxx index deb68a2c2d93..d856c573467e 100644 --- a/connectivity/inc/pch/precompiled_firebird_sdbc.hxx +++ b/connectivity/inc/pch/precompiled_firebird_sdbc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-01-22 15:57:35 using: + Generated on 2020-08-12 11:04:28 using: ./bin/update_pch connectivity firebird_sdbc --cutoff=2 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #endif // PCH_LEVEL >= 1 @@ -39,14 +38,11 @@ #include #include #include -#include #include #include #include #include -#include #include -#include #endif // PCH_LEVEL >= 2 #if PCH_LEVEL >= 3 #include @@ -60,12 +56,9 @@ #include #include #include -#include #include #include -#include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_flat.hxx b/connectivity/inc/pch/precompiled_flat.hxx index d6aea9b6d421..9a52bb2a57d9 100644 --- a/connectivity/inc/pch/precompiled_flat.hxx +++ b/connectivity/inc/pch/precompiled_flat.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-04-21 11:13:54 using: + Generated on 2020-08-12 11:04:29 using: ./bin/update_pch connectivity flat --cutoff=2 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -50,7 +50,6 @@ #include #include #include -#include #include #include #include @@ -65,7 +64,6 @@ #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_mysql_jdbc.hxx b/connectivity/inc/pch/precompiled_mysql_jdbc.hxx index fed482c16be2..436c66338622 100644 --- a/connectivity/inc/pch/precompiled_mysql_jdbc.hxx +++ b/connectivity/inc/pch/precompiled_mysql_jdbc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-01-22 15:57:36 using: + Generated on 2020-08-12 11:04:29 using: ./bin/update_pch connectivity mysql_jdbc --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -25,18 +25,15 @@ #if PCH_LEVEL >= 2 #endif // PCH_LEVEL >= 2 #if PCH_LEVEL >= 3 -#include #include #include #include #include #include #include -#include #include #include #include -#include #include #include #include diff --git a/connectivity/inc/pch/precompiled_odbc.hxx b/connectivity/inc/pch/precompiled_odbc.hxx index 668470fd36db..b74b069a12f3 100644 --- a/connectivity/inc/pch/precompiled_odbc.hxx +++ b/connectivity/inc/pch/precompiled_odbc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-02-01 10:57:29 using: + Generated on 2020-08-12 11:04:29 using: ./bin/update_pch connectivity odbc --cutoff=2 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include diff --git a/cppcanvas/inc/pch/precompiled_cppcanvas.hxx b/cppcanvas/inc/pch/precompiled_cppcanvas.hxx index 3291bb8fd09e..1efa0f90c396 100644 --- a/cppcanvas/inc/pch/precompiled_cppcanvas.hxx +++ b/cppcanvas/inc/pch/precompiled_cppcanvas.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:19 using: + Generated on 2020-08-12 11:14:42 using: ./bin/update_pch cppcanvas cppcanvas --cutoff=11 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -61,7 +61,6 @@ #include #include #include -#include #include #include #include @@ -117,7 +116,6 @@ #include #include #include -#include #include #include #include diff --git a/cppuhelper/inc/pch/precompiled_cppuhelper.hxx b/cppuhelper/inc/pch/precompiled_cppuhelper.hxx index f67cd3d73294..4e0ba23d556a 100644 --- a/cppuhelper/inc/pch/precompiled_cppuhelper.hxx +++ b/cppuhelper/inc/pch/precompiled_cppuhelper.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:19 using: + Generated on 2020-08-12 11:04:30 using: ./bin/update_pch cppuhelper cppuhelper --cutoff=3 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include diff --git a/cui/inc/pch/precompiled_cui.hxx b/cui/inc/pch/precompiled_cui.hxx index 1c3974a245ba..d7772d02eb51 100644 --- a/cui/inc/pch/precompiled_cui.hxx +++ b/cui/inc/pch/precompiled_cui.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:20 using: + Generated on 2020-08-12 11:04:33 using: ./bin/update_pch cui cui --cutoff=8 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -84,7 +84,6 @@ #include #include #include -#include #include #include #include @@ -123,6 +122,7 @@ #include #include #include +#include #include #include #include @@ -133,6 +133,7 @@ #include #include #include +#include #include #include #include @@ -204,10 +205,8 @@ #include #include #include -#include #include #include -#include #include #include #include @@ -241,30 +240,23 @@ #include #include #include -#include #include #include #include #include #include #include -#include -#include -#include #include #include #include #include #include -#include #include -#include #include #include #include #include #include -#include #include #include #include @@ -371,7 +363,6 @@ #include #include #include -#include #include #include #include diff --git a/dbaccess/inc/pch/precompiled_dba.hxx b/dbaccess/inc/pch/precompiled_dba.hxx index a09675bc8cdf..a21e987c78a7 100644 --- a/dbaccess/inc/pch/precompiled_dba.hxx +++ b/dbaccess/inc/pch/precompiled_dba.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-08-07 11:34:54 using: + Generated on 2020-08-12 11:14:45 using: ./bin/update_pch dbaccess dba --cutoff=6 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -68,6 +68,7 @@ #include #include #include +#include #include #include #include diff --git a/dbaccess/inc/pch/precompiled_dbu.hxx b/dbaccess/inc/pch/precompiled_dbu.hxx index 41a2c2b08bcc..ae23ef89b38c 100644 --- a/dbaccess/inc/pch/precompiled_dbu.hxx +++ b/dbaccess/inc/pch/precompiled_dbu.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-08-07 11:35:01 using: + Generated on 2020-08-12 11:04:38 using: ./bin/update_pch dbaccess dbu --cutoff=12 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -68,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -77,8 +78,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/desktop/inc/pch/precompiled_deployment.hxx b/desktop/inc/pch/precompiled_deployment.hxx index b01353b33da6..7569bb9c15cf 100644 --- a/desktop/inc/pch/precompiled_deployment.hxx +++ b/desktop/inc/pch/precompiled_deployment.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-04-21 11:14:33 using: + Generated on 2020-08-12 11:04:39 using: ./bin/update_pch desktop deployment --cutoff=3 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -68,11 +69,11 @@ #include #include #include -#include #include #include #include #include +#include #include #include #include diff --git a/desktop/inc/pch/precompiled_deploymentgui.hxx b/desktop/inc/pch/precompiled_deploymentgui.hxx index 6ec6ce346ebb..701e42e96eb5 100644 --- a/desktop/inc/pch/precompiled_deploymentgui.hxx +++ b/desktop/inc/pch/precompiled_deploymentgui.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-04-21 11:14:30 using: + Generated on 2020-08-12 11:04:39 using: ./bin/update_pch desktop deploymentgui --cutoff=3 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -85,6 +85,7 @@ #include #include #include +#include #include #include #include diff --git a/desktop/inc/pch/precompiled_sofficeapp.hxx b/desktop/inc/pch/precompiled_sofficeapp.hxx index a586c369440e..938c487b724c 100644 --- a/desktop/inc/pch/precompiled_sofficeapp.hxx +++ b/desktop/inc/pch/precompiled_sofficeapp.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:23 using: + Generated on 2020-08-12 11:14:49 using: ./bin/update_pch desktop sofficeapp --cutoff=6 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -68,6 +69,7 @@ #include #include #include +#include #include #include #include @@ -164,7 +166,6 @@ #include #include #include -#include #include #include #include diff --git a/drawinglayer/inc/pch/precompiled_drawinglayer.hxx b/drawinglayer/inc/pch/precompiled_drawinglayer.hxx index b8c4aadb7dab..75a26ff80bf7 100644 --- a/drawinglayer/inc/pch/precompiled_drawinglayer.hxx +++ b/drawinglayer/inc/pch/precompiled_drawinglayer.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:23 using: + Generated on 2020-08-12 11:14:50 using: ./bin/update_pch drawinglayer drawinglayer --cutoff=4 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -43,12 +43,12 @@ #include #include #include -#include #include #include #include #include #include +#include #include #include #include diff --git a/emfio/inc/pch/precompiled_emfio.hxx b/emfio/inc/pch/precompiled_emfio.hxx index 35519ae8a121..34920dc437b0 100644 --- a/emfio/inc/pch/precompiled_emfio.hxx +++ b/emfio/inc/pch/precompiled_emfio.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:24 using: + Generated on 2020-08-12 11:04:42 using: ./bin/update_pch emfio emfio --cutoff=8 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -21,7 +21,6 @@ */ #if PCH_LEVEL >= 1 -#include #include #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx index 4ac84df0f835..0813bcd8e238 100644 --- a/external/skia/inc/pch/precompiled_skia.hxx +++ b/external/skia/inc/pch/precompiled_skia.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:26 using: + Generated on 2020-08-12 11:04:47 using: ./bin/update_pch external/skia skia --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -956,6 +956,7 @@ #endif // PCH_LEVEL >= 3 #if PCH_LEVEL >= 4 #include +#include #endif // PCH_LEVEL >= 4 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/framework/inc/pch/precompiled_fwk.hxx b/framework/inc/pch/precompiled_fwk.hxx index 5bed18e35fbd..c0f7bbc7fedb 100644 --- a/framework/inc/pch/precompiled_fwk.hxx +++ b/framework/inc/pch/precompiled_fwk.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:27 using: + Generated on 2020-08-12 11:04:49 using: ./bin/update_pch framework fwk --cutoff=7 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -173,7 +173,6 @@ #include #include #include -#include #include #include #include @@ -198,7 +197,6 @@ #include #include #include -#include #include #include #include @@ -239,7 +237,6 @@ #include #include #include -#include #include #include #include diff --git a/include/vcl/toolkit/svlbitm.hxx b/include/vcl/toolkit/svlbitm.hxx index e4e6fbc57a7d..850763abf76d 100644 --- a/include/vcl/toolkit/svlbitm.hxx +++ b/include/vcl/toolkit/svlbitm.hxx @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include class SvTreeListEntry; diff --git a/include/vcl/toolkit/svtabbx.hxx b/include/vcl/toolkit/svtabbx.hxx index 17a0b3282251..3e1a8a00b032 100644 --- a/include/vcl/toolkit/svtabbx.hxx +++ b/include/vcl/toolkit/svtabbx.hxx @@ -23,7 +23,7 @@ #endif #include -#include +#include #include #include diff --git a/include/vcl/toolkit/treelist.hxx b/include/vcl/toolkit/treelist.hxx new file mode 100644 index 000000000000..3ca4a05b009b --- /dev/null +++ b/include/vcl/toolkit/treelist.hxx @@ -0,0 +1,302 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#pragma once + +#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS) +#error "don't use this in new code" +#endif + +#include +#include + +#include +#include +#include + +#include + +enum class SvListAction +{ + INSERTED = 1, + REMOVING = 2, + REMOVED = 3, + MOVING = 4, + MOVED = 5, + CLEARING = 6, + INSERTED_TREE = 7, + INVALIDATE_ENTRY = 8, + RESORTING = 9, + RESORTED = 10, + CLEARED = 11 +}; + +class SvTreeListEntry; +class SvListView; +class SvViewDataEntry; + +enum SvSortMode { SortAscending, SortDescending, SortNone }; + +// For the return values of Sortlink: +// See International::Compare( pLeft, pRight ) +// ( Compare(a,b) ==> b.Compare(a) ==> strcmp(a,b) ) +struct SvSortData +{ + const SvTreeListEntry* pLeft; + const SvTreeListEntry* pRight; +}; + +class VCL_DLLPUBLIC SvTreeList final +{ + friend class SvListView; + + SvListView& mrOwnerListView; + sal_uLong nEntryCount; + + Link aCloneLink; + Link aCompareLink; + SvSortMode eSortMode; + + bool bAbsPositionsValid; + + bool mbEnableInvalidate; + + SvTreeListEntry* FirstVisible() const { return First(); } + SvTreeListEntry* NextVisible( const SvListView*,SvTreeListEntry* pEntry, sal_uInt16* pDepth=nullptr ) const; + SvTreeListEntry* PrevVisible( const SvListView*,SvTreeListEntry* pEntry ) const; + SvTreeListEntry* LastVisible( const SvListView* ) const; + SvTreeListEntry* NextVisible( const SvListView*,SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const; + SvTreeListEntry* PrevVisible( const SvListView*,SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const; + + bool IsEntryVisible( const SvListView*,SvTreeListEntry* pEntry ) const; + SvTreeListEntry* GetEntryAtVisPos( const SvListView*,sal_uLong nVisPos ) const; + sal_uLong GetVisiblePos( const SvListView*,SvTreeListEntry const * pEntry ) const; + sal_uLong GetVisibleCount( SvListView* ) const; + sal_uLong GetVisibleChildCount( const SvListView*,SvTreeListEntry* pParent ) const; + + SvTreeListEntry* FirstSelected( const SvListView*) const; + SvTreeListEntry* NextSelected( const SvListView*,SvTreeListEntry* pEntry ) const; + + sal_uLong GetChildSelectionCount( const SvListView*,SvTreeListEntry* pParent ) const; + + VCL_DLLPRIVATE void SetAbsolutePositions(); + + VCL_DLLPRIVATE void CloneChildren( + SvTreeListEntries& rDst, sal_uLong& rCloneCount, SvTreeListEntries& rSrc, SvTreeListEntry& rNewParent) const; + + /** + * Invalidate the cached position data to have them re-generated before + * the next access. + */ + VCL_DLLPRIVATE static void SetListPositions( SvTreeListEntries& rEntries ); + + // rPos is not changed for SortModeNone + VCL_DLLPRIVATE void GetInsertionPos( + SvTreeListEntry const * pEntry, + SvTreeListEntry* pParent, + sal_uLong& rPos + ); + + VCL_DLLPRIVATE void ResortChildren( SvTreeListEntry* pParent ); + + SvTreeList(const SvTreeList&) = delete; + SvTreeList& operator= (const SvTreeList&) = delete; + + std::unique_ptr pRootItem; + +public: + + SvTreeList() = delete; + SvTreeList(SvListView&); + ~SvTreeList(); + + void Broadcast( + SvListAction nActionId, + SvTreeListEntry* pEntry1=nullptr, + SvTreeListEntry* pEntry2=nullptr, + sal_uLong nPos=0 + ); + + void EnableInvalidate( bool bEnable ); + + // Notify all Listeners + void InvalidateEntry( SvTreeListEntry* ); + + sal_uLong GetEntryCount() const { return nEntryCount; } + SvTreeListEntry* First() const; + SvTreeListEntry* Next( SvTreeListEntry* pEntry, sal_uInt16* pDepth=nullptr ) const; + SvTreeListEntry* Prev( SvTreeListEntry* pEntry ) const; + SvTreeListEntry* Last() const; + + SvTreeListEntry* FirstChild( SvTreeListEntry* pParent ) const; + + sal_uLong Insert( SvTreeListEntry* pEntry,SvTreeListEntry* pPar,sal_uLong nPos = TREELIST_APPEND); + sal_uLong Insert( SvTreeListEntry* pEntry,sal_uLong nRootPos = TREELIST_APPEND ) + { return Insert(pEntry, pRootItem.get(), nRootPos ); } + + void InsertTree( SvTreeListEntry* pTree, SvTreeListEntry* pTargetParent, sal_uLong nListPos ); + + // Entries need to be in the same Model! + void Move( SvTreeListEntry* pSource, SvTreeListEntry* pTarget ); + + // Creates ChildList if needed + sal_uLong Move( SvTreeListEntry* pSource, SvTreeListEntry* pTargetParent, sal_uLong nListPos); + sal_uLong Copy( SvTreeListEntry* pSource, SvTreeListEntry* pTargetParent, sal_uLong nListPos); + + bool Remove( const SvTreeListEntry* pEntry ); + void Clear(); + + bool HasChildren( const SvTreeListEntry* pEntry ) const; + bool HasParent( const SvTreeListEntry* pEntry ) const; + + bool IsChild(const SvTreeListEntry* pParent, const SvTreeListEntry* pChild) const; + SvTreeListEntry* GetEntry( SvTreeListEntry* pParent, sal_uLong nPos ) const; + SvTreeListEntry* GetEntry( sal_uLong nRootPos ) const; + SvTreeListEntry* GetEntryAtAbsPos( sal_uLong nAbsPos ) const; + + const SvTreeListEntry* GetParent( const SvTreeListEntry* pEntry ) const; + SvTreeListEntry* GetParent( SvTreeListEntry* pEntry ); + + SvTreeListEntry* GetRootLevelParent( SvTreeListEntry* pEntry ) const; + const SvTreeListEntries& GetChildList( SvTreeListEntry* pParent ) const; + SvTreeListEntries& GetChildList( SvTreeListEntry* pParent ); + + std::pair + GetChildIterators(SvTreeListEntry* pParent); + + sal_uLong GetAbsPos( const SvTreeListEntry* pEntry ) const; + static sal_uLong GetRelPos( const SvTreeListEntry* pChild ); + + sal_uLong GetChildCount( const SvTreeListEntry* pParent ) const; + sal_uInt16 GetDepth( const SvTreeListEntry* pEntry ) const; + bool IsAtRootDepth( const SvTreeListEntry* pEntry ) const; + + // The Model calls the Clone Link to clone Entries. + // Thus we do not need to derive from the Model if we derive from SvTreeListEntry. + // The Handler needs to return a SvTreeListEntry* + SvTreeListEntry* Clone( SvTreeListEntry* pEntry, sal_uLong& nCloneCount ) const; + void SetCloneLink( const Link& rLink ) + { aCloneLink=rLink; } + + const Link& GetCloneLink() const + { return aCloneLink; } + + SvTreeListEntry* CloneEntry( SvTreeListEntry* pSource ) const; // Calls the Clone Link + + void SetSortMode( SvSortMode eMode ) { eSortMode = eMode; } + SvSortMode GetSortMode() const { return eSortMode; } + sal_Int32 Compare(const SvTreeListEntry* pLeft, const SvTreeListEntry* pRight) const; + void SetCompareHdl( const Link& rLink ) { aCompareLink = rLink; } + void Resort(); +}; + +class VCL_DLLPUBLIC SvListView +{ + friend class SvTreeList; + + struct SAL_DLLPRIVATE Impl; + std::unique_ptr m_pImpl; + +protected: + std::unique_ptr pModel; + + void ExpandListEntry( SvTreeListEntry* pParent ); + void CollapseListEntry( SvTreeListEntry* pParent ); + bool SelectListEntry( SvTreeListEntry* pEntry, bool bSelect ); + +public: + SvListView(); // Sets the Model to 0 + void dispose(); + virtual ~SvListView(); + void Clear(); + virtual void ModelNotification( + SvListAction nActionId, + SvTreeListEntry* pEntry1, + SvTreeListEntry* pEntry2, + sal_uLong nPos + ); + + sal_uLong GetVisibleCount() const + { return pModel->GetVisibleCount( const_cast(this) ); } + + SvTreeListEntry* FirstVisible() const + { return pModel->FirstVisible(); } + + SvTreeListEntry* NextVisible( SvTreeListEntry* pEntry ) const + { return pModel->NextVisible(this,pEntry); } + + SvTreeListEntry* PrevVisible( SvTreeListEntry* pEntry ) const + { return pModel->PrevVisible(this,pEntry); } + + SvTreeListEntry* LastVisible() const + { return pModel->LastVisible(this); } + + SvTreeListEntry* NextVisible( SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const + { return pModel->NextVisible(this,pEntry,rDelta); } + + SvTreeListEntry* PrevVisible( SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const + { return pModel->PrevVisible(this,pEntry,rDelta); } + + sal_uLong GetSelectionCount() const; + + SvTreeListEntry* FirstSelected() const + { return pModel->FirstSelected(this); } + + SvTreeListEntry* NextSelected( SvTreeListEntry* pEntry ) const + { return pModel->NextSelected(this,pEntry); } + + SvTreeListEntry* GetEntryAtAbsPos( sal_uLong nAbsPos ) const + { return pModel->GetEntryAtAbsPos(nAbsPos); } + + SvTreeListEntry* GetEntryAtVisPos( sal_uLong nVisPos ) const + { return pModel->GetEntryAtVisPos(this,nVisPos); } + + sal_uLong GetAbsPos( SvTreeListEntry const * pEntry ) const + { return pModel->GetAbsPos(pEntry); } + + sal_uLong GetVisiblePos( SvTreeListEntry const * pEntry ) const + { return pModel->GetVisiblePos(this,pEntry); } + + sal_uLong GetVisibleChildCount(SvTreeListEntry* pParent ) const + { return pModel->GetVisibleChildCount(this,pParent); } + + bool IsEntryVisible( SvTreeListEntry* pEntry ) const + { return pModel->IsEntryVisible(this,pEntry); } + + bool IsExpanded( SvTreeListEntry* pEntry ) const; + bool IsAllExpanded( SvTreeListEntry* pEntry) const; + bool IsSelected(const SvTreeListEntry* pEntry) const; + void SetEntryFocus( SvTreeListEntry* pEntry, bool bFocus ); + const SvViewDataEntry* GetViewData( const SvTreeListEntry* pEntry ) const; + SvViewDataEntry* GetViewData( SvTreeListEntry* pEntry ); + bool HasViewData() const; + + virtual void InitViewData( SvViewDataEntry*, SvTreeListEntry* pEntry ); + + virtual void ModelHasCleared(); + virtual void ModelHasInserted( SvTreeListEntry* pEntry ); + virtual void ModelHasInsertedTree( SvTreeListEntry* pEntry ); + virtual void ModelIsMoving( SvTreeListEntry* pSource ); + virtual void ModelHasMoved( SvTreeListEntry* pSource ); + virtual void ModelIsRemoving( SvTreeListEntry* pEntry ); + virtual void ModelHasRemoved( SvTreeListEntry* pEntry ); + virtual void ModelHasEntryInvalidated( SvTreeListEntry* pEntry ); +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/toolkit/treelistbox.hxx b/include/vcl/toolkit/treelistbox.hxx new file mode 100644 index 000000000000..c8ccdd775ac3 --- /dev/null +++ b/include/vcl/toolkit/treelistbox.hxx @@ -0,0 +1,704 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#pragma once + +#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS) +#error "don't use this in new code" +#endif + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class SvTreeListBox; +class SvTreeListEntry; +struct SvViewDataItem; +class SvViewDataEntry; +class SvInplaceEdit2; +class SvLBoxString; +class SvImpLBox; +class SvLBoxButtonData; +class Timer; +class Edit; + +namespace utl { + class AccessibleStateSetHelper; +} + +enum class SvButtonState { Unchecked, Checked, Tristate }; + +// ********************************************************************* +// *************************** Tabulators ****************************** +// ********************************************************************* + +enum class SvLBoxTabFlags +{ + NONE = 0x0000, + DYNAMIC = 0x0001, // Item's output column changes according to the Child Depth + ADJUST_RIGHT = 0x0002, // Item's right margin at the tabulator + ADJUST_LEFT = 0x0004, // Left margin + ADJUST_CENTER = 0x0008, // Center the item at the tabulator + + SHOW_SELECTION = 0x0010, // Visualize selection state + // Item needs to be able to return the surrounding polygon (D'n'D cursor) + EDITABLE = 0x0020, // Item editable at the tabulator + FORCE = 0x0040, // Switch off the default calculation of the first tabulator + // (on which Abo Tabpage/Extras/Option/Customize, etc. rely on) + // The first tab's position corresponds precisely to the Flags set + // and column widths +}; +namespace o3tl +{ + template<> struct typed_flags : is_typed_flags {}; +} + +#define SV_TAB_BORDER 8 + +#define SV_ENTRYHEIGHTOFFS_PIXEL 2 + +enum class SvTreeFlags +{ + CHKBTN = 0x01, + USESEL = 0x02, + MANINS = 0x04, + RECALCTABS = 0x08, + FIXEDHEIGHT = 0x10, +}; +namespace o3tl +{ + template<> struct typed_flags : is_typed_flags {}; +} + +enum class SvLBoxItemType {String, Button, ContextBmp}; + +class SvLBoxTab +{ + long nPos; +public: + SvLBoxTab(); + SvLBoxTab( long nPos, SvLBoxTabFlags nFlags ); + SvLBoxTab( const SvLBoxTab& ); + ~SvLBoxTab(); + + SvLBoxTabFlags nFlags; + + bool IsDynamic() const { return bool(nFlags & SvLBoxTabFlags::DYNAMIC); } + void SetPos( long nNewPos) { nPos = nNewPos; } + long GetPos() const { return nPos; } + long CalcOffset( long nItemLength, long nTabWidth ); + bool IsEditable() const { return bool(nFlags & SvLBoxTabFlags::EDITABLE); } +}; + +class VCL_DLLPUBLIC SvLBoxItem +{ +protected: + bool mbDisabled; + +public: + SvLBoxItem(); + virtual ~SvLBoxItem(); + virtual SvLBoxItemType GetType() const = 0; + virtual int CalcWidth(const SvTreeListBox* pView) const; + int GetWidth(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; + int GetWidth(const SvTreeListBox* pView, const SvViewDataEntry* pData, sal_uInt16 nItemPos); + int GetHeight(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; + static int GetHeight(const SvViewDataEntry* pData, sal_uInt16 nItemPos); + void Enable(bool bEnabled) { mbDisabled = !bEnabled; } + + virtual void Paint(const Point& rPos, SvTreeListBox& rOutDev, vcl::RenderContext& rRenderContext, const SvViewDataEntry* pView, const SvTreeListEntry& rEntry) = 0; + + virtual void InitViewData(SvTreeListBox* pView, SvTreeListEntry* pEntry, + // If != 0: this Pointer must be used! + // If == 0: it needs to be retrieved via the View + SvViewDataItem* pViewData = nullptr) = 0; + // View-dependent data is not cloned + virtual std::unique_ptr Clone(SvLBoxItem const * pSource) const = 0; +}; + +enum class DragDropMode +{ + NONE = 0x0000, + CTRL_MOVE = 0x0001, + APP_COPY = 0x0004, + // Entries may be dropped via the uppermost Entry + // The DropTarget is 0 in that case + ENABLE_TOP = 0x0010, + ALL = 0x0015, +}; +namespace o3tl +{ + template<> struct typed_flags : is_typed_flags {}; +} + +enum class SvTreeListBoxFlags +{ + NONE = 0x0000, + IN_EDT = 0x0001, + EDT_ENABLED = 0x0002, + TARGEMPH_VIS = 0x0004, + EDTEND_CALLED = 0x0008, +}; +namespace o3tl +{ + template<> struct typed_flags : is_typed_flags {}; +} + +struct SvTreeListBoxImpl; + +typedef std::pair svtree_measure_args; +typedef std::tuple svtree_render_args; + +class VCL_DLLPUBLIC SvTreeListBox + :public Control + ,public SvListView + ,public DropTargetHelper + ,public DragSourceHelper + ,public vcl::ISearchableStringList +{ + friend class SvImpLBox; + friend class SvLBoxString; + friend class IconViewImpl; + friend class TreeControlPeer; + friend class SalInstanceIconView; + friend class SalInstanceTreeView; + friend class SalInstanceEntryTreeView; + + std::unique_ptr mpImpl; + Link aScrolledHdl; + Link aExpandedHdl; + Link aExpandingHdl; + Link aSelectHdl; + Link aDeselectHdl; + Link aPopupMenuHdl; + Link aTooltipHdl; + Link aCustomRenderHdl; + Link aCustomMeasureHdl; + + Image aPrevInsertedExpBmp; + Image aPrevInsertedColBmp; + Image aCurInsertedExpBmp; + Image aCurInsertedColBmp; + + short nContextBmpWidthMax; + short nEntryHeightOffs; + short nIndent; + short nFocusWidth; + sal_uInt16 nFirstSelTab; + sal_uInt16 nLastSelTab; + long mnCheckboxItemWidth; + bool mbContextBmpExpanded; + bool mbAlternatingRowColors; + bool mbUpdateAlternatingRows; + bool mbQuickSearch; // Enables type-ahead search in the check list box. + bool mbActivateOnSingleClick; // Make single click "activate" a row like a double-click normally does + bool mbHoverSelection; // Make mouse over a row "select" a row like a single-click normally does + + SvTreeListEntry* pHdlEntry; + + DragDropMode nDragDropMode; + DragDropMode nOldDragMode; + SelectionMode eSelMode; + sal_Int32 nMinWidthInChars; + + sal_Int8 mnDragAction; + + SvTreeListEntry* pEdEntry; + SvLBoxItem* pEdItem; + + rtl::Reference m_xTransferHelper; + +protected: + std::unique_ptr pImpl; + short nColumns; + short nEntryHeight; + short nEntryWidth; + bool mbCenterAndClipText; + + Link aDoubleClickHdl; + SvTreeListEntry* pTargetEntry; + SvLBoxButtonData* pCheckButtonData; + std::vector> aTabs; + SvTreeFlags nTreeFlags; + SvTreeListBoxFlags nImpFlags; + // Move/CopySelection: Position of the current Entry in SelectionList + sal_uInt16 nCurEntrySelPos; + +private: + DECL_DLLPRIVATE_LINK( CheckButtonClick, SvLBoxButtonData *, void ); + DECL_DLLPRIVATE_LINK( TextEditEndedHdl_Impl, SvInplaceEdit2&, void ); + // Handler that is called by TreeList to clone an Entry + DECL_DLLPRIVATE_LINK( CloneHdl_Impl, SvTreeListEntry*, SvTreeListEntry* ); + + // Handler and methods for Drag - finished handler. + // The Handle retrieved by GetDragFinishedHdl can be set on the + // TransferDataContainer. This link is a callback for the DragFinished + // call. The AddBox method is called from the GetDragFinishedHdl() and the + // remove is called in the link callback and in the dtor. So it can't be + // called for a deleted object. + VCL_DLLPRIVATE static void AddBoxToDDList_Impl( const SvTreeListBox& rB ); + VCL_DLLPRIVATE static void RemoveBoxFromDDList_Impl( const SvTreeListBox& rB ); + DECL_DLLPRIVATE_LINK( DragFinishHdl_Impl, sal_Int8, void ); + + // after a checkbox entry is inserted, use this to get its width to support + // autowidth for the 1st checkbox column + VCL_DLLPRIVATE void CheckBoxInserted(SvTreeListEntry* pEntry); + + VCL_DLLPRIVATE void DrawCustomEntry(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect, const SvTreeListEntry& rEntry); + VCL_DLLPRIVATE Size MeasureCustomEntry(vcl::RenderContext& rRenderContext, const SvTreeListEntry& rEntry); + + /** Handles the given key event. + + At the moment this merely does typeahead if typeahead is enabled. + + @return + if the event has been consumed, otherwise. + */ + VCL_DLLPRIVATE bool HandleKeyInput(const KeyEvent& rKEvt); + + void UnsetDropTarget(); + +protected: + + bool CheckDragAndDropMode( SvTreeListBox const * pSource, sal_Int8 ); + void ImplShowTargetEmphasis( SvTreeListEntry* pEntry, bool bShow); + void EnableSelectionAsDropTarget( bool bEnable = true ); + // Standard impl returns 0; derived classes which support D'n'D must override + using Window::GetDropTarget; + virtual SvTreeListEntry* GetDropTarget( const Point& ); + + // Invalidate children on enable/disable + virtual void StateChanged( StateChangedType eType ) override; + + virtual sal_uLong Insert( SvTreeListEntry* pEnt,SvTreeListEntry* pPar,sal_uLong nPos=TREELIST_APPEND); + virtual sal_uLong Insert( SvTreeListEntry* pEntry,sal_uLong nRootPos = TREELIST_APPEND ); + + // In-place editing + std::unique_ptr pEdCtrl; + void EditText( const OUString&, const tools::Rectangle&,const Selection&); + void CancelTextEditing(); + + // InitViewData is called right after CreateViewData + // The Entry is has not yet been added to the View in InitViewData! + virtual void InitViewData( SvViewDataEntry*, SvTreeListEntry* pEntry ) override; + // Calls InitViewData for all Items + void RecalcViewData(); + + // Handler and methods for Drag - finished handler. This link can be set + // to the TransferDataContainer. The AddBox/RemoveBox methods must be + // called before the StartDrag call. + // The Remove will be called from the handler, which then calls DragFinish. + // The Remove is also called in the DTOR of the SvTreeListBox - + // so it can't be called for a deleted object. + Link GetDragFinishedHdl() const; + + // For asynchronous D'n'D + sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt, SvTreeListBox* pSourceView ); + + void OnCurrentEntryChanged(); + + // ISearchableStringList + virtual vcl::StringEntryIdentifier CurrentEntry( OUString& _out_entryText ) const override; + virtual vcl::StringEntryIdentifier NextEntry( vcl::StringEntryIdentifier _currentEntry, OUString& _out_entryText ) const override; + virtual void SelectEntry( vcl::StringEntryIdentifier _entry ) override; + +public: + + SvTreeListBox( vcl::Window* pParent, WinBits nWinStyle=0 ); + virtual ~SvTreeListBox() override; + virtual void dispose() override; + + SvTreeList* GetModel() const + { + return pModel.get(); + } + + sal_uLong GetEntryCount() const + { + return pModel ? pModel->GetEntryCount() : 0; + } + SvTreeListEntry* First() const + { + return pModel ? pModel->First() : nullptr; + } + SvTreeListEntry* Next( SvTreeListEntry* pEntry ) const + { + return pModel->Next(pEntry); + } + SvTreeListEntry* Prev( SvTreeListEntry* pEntry ) const + { + return pModel->Prev(pEntry); + } + SvTreeListEntry* Last() const + { + return pModel ? pModel->Last() : nullptr; + } + + SvTreeListEntry* FirstChild( SvTreeListEntry* pParent ) const; + + bool CopySelection( SvTreeListBox* pSource, SvTreeListEntry* pTarget ); + bool MoveSelectionCopyFallbackPossible( SvTreeListBox* pSource, SvTreeListEntry* pTarget, bool bAllowCopyFallback ); + void RemoveSelection(); + /** + * Removes the entry along with all of its descendants + */ + void RemoveEntry(SvTreeListEntry const * pEntry); + + DragDropMode GetDragDropMode() const { return nDragDropMode; } + SelectionMode GetSelectionMode() const { return eSelMode; } + + // pParent == 0 -> Root level + SvTreeListEntry* GetEntry( SvTreeListEntry* pParent, sal_uLong nPos ) const; + SvTreeListEntry* GetEntry( sal_uLong nRootPos ) const; + + SvTreeListEntry* GetEntryFromPath( const ::std::deque< sal_Int32 >& _rPath ) const; + void FillEntryPath( SvTreeListEntry* pEntry, ::std::deque< sal_Int32 >& _rPath ) const; + + using Window::GetParent; + SvTreeListEntry* GetParent( SvTreeListEntry* pEntry ) const; + SvTreeListEntry* GetRootLevelParent(SvTreeListEntry* pEntry ) const; + + using Window::GetChildCount; + sal_uLong GetChildCount( SvTreeListEntry const * pParent ) const; + sal_uLong GetLevelChildCount( SvTreeListEntry* pParent ) const; + + SvViewDataEntry* GetViewDataEntry( SvTreeListEntry const * pEntry ) const; + SvViewDataItem* GetViewDataItem(SvTreeListEntry const *, SvLBoxItem const *); + const SvViewDataItem* GetViewDataItem(const SvTreeListEntry*, const SvLBoxItem*) const; + + bool IsInplaceEditingEnabled() const { return bool(nImpFlags & SvTreeListBoxFlags::EDT_ENABLED); } + bool IsEditingActive() const { return bool(nImpFlags & SvTreeListBoxFlags::IN_EDT); } + void EndEditing( bool bCancel = false ); + + void Clear(); + + bool TextCenterAndClipEnabled() const { return mbCenterAndClipText; } + + void SetSelectHdl( const Link& rNewHdl ) {aSelectHdl=rNewHdl; } + void SetDeselectHdl( const Link& rNewHdl ) {aDeselectHdl=rNewHdl; } + void SetDoubleClickHdl(const Link& rNewHdl) {aDoubleClickHdl=rNewHdl;} + void SetExpandingHdl(const Link& rNewHdl){aExpandingHdl=rNewHdl;} + void SetExpandedHdl(const Link& rNewHdl){aExpandedHdl=rNewHdl;} + void SetPopupMenuHdl(const Link& rLink) { aPopupMenuHdl = rLink; } + void SetTooltipHdl(const Link& rLink) { aTooltipHdl = rLink; } + void SetCustomRenderHdl(const Link& rLink) { aCustomRenderHdl = rLink; } + void SetCustomMeasureHdl(const Link& rLink) { aCustomMeasureHdl = rLink; } + + void ExpandedHdl(); + bool ExpandingHdl(); + virtual void SelectHdl(); + virtual void DeselectHdl(); + virtual bool DoubleClickHdl(); + SvTreeListEntry* GetHdlEntry() const { return pHdlEntry; } + + // Is called for an Entry that gets expanded with the Flag + // ENTRYFLAG_CHILDREN_ON_DEMAND set. + virtual void RequestingChildren( SvTreeListEntry* pParent ); + + // Drag & Drop + // New D'n'D API + virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) override; + virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) override; + virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ) override; + virtual DragDropMode NotifyStartDrag( TransferDataContainer& rData, + SvTreeListEntry* ); + virtual void DragFinished( sal_Int8 nDropAction ); + + SvTreeListEntry* CloneEntry( SvTreeListEntry* pSource ); + + // Return value: TRISTATE_TRUE == Ok, TRISTATE_FALSE == Cancel, TRISTATE_INDET == Ok and Make visible moved entry + TriState NotifyMoving( + SvTreeListEntry* pTarget, // D'n'D DropPosition in GetModel() + SvTreeListEntry* pEntry, // Entry to be moved from GetSourceListBox()->GetModel() + SvTreeListEntry*& rpNewParent, // New TargetParent + sal_uLong& rNewChildPos); // The TargetParent's position in Childlist + + // Return value: TRISTATE_TRUE == Ok, TRISTATE_FALSE == Cancel, TRISTATE_INDET == Ok and Make visible moved entry + TriState NotifyCopying( + SvTreeListEntry* pTarget, // D'n'D DropPosition in GetModel() + SvTreeListEntry* pEntry, // Entry to be copied from GetSourceListBox()->GetModel() + SvTreeListEntry*& rpNewParent, // New TargetParent + sal_uLong& rNewChildPos); // The TargetParent's position in Childlist + + // ACCESSIBILITY ========================================================== + + /** Creates and returns the accessible object of the Box. */ + virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override; + + /** Fills the StateSet of one entry. */ + void FillAccessibleEntryStateSet( SvTreeListEntry* pEntry, ::utl::AccessibleStateSetHelper& rStateSet ) const; + + /** Calculate and return the bounding rectangle of an entry. + @param pEntry + The entry. + @return The bounding rectangle of an entry. */ + tools::Rectangle GetBoundingRect(const SvTreeListEntry* pEntry); + + SvTreeFlags GetTreeFlags() const {return nTreeFlags;} + + static OUString SearchEntryTextWithHeadTitle(SvTreeListEntry* pEntry); + + void set_min_width_in_chars(sal_Int32 nChars); + + virtual bool set_property(const OString &rKey, const OUString &rValue) override; + +protected: + + VCL_DLLPRIVATE void SetEntryHeight( SvTreeListEntry const * pEntry ); + void AdjustEntryHeight( const Image& rBmp ); + VCL_DLLPRIVATE void AdjustEntryHeight(); + + VCL_DLLPRIVATE void ImpEntryInserted( SvTreeListEntry* pEntry ); + VCL_DLLPRIVATE void PaintEntry1( SvTreeListEntry&, long nLine, vcl::RenderContext& rRenderContext ); + + VCL_DLLPRIVATE void InitTreeView(); + VCL_DLLPRIVATE SvLBoxItem* GetItem_Impl( SvTreeListEntry*, long nX, SvLBoxTab** ppTab ); + VCL_DLLPRIVATE void ImplInitStyle(); + + void SetupDragOrigin(); + void EditItemText( SvTreeListEntry* pEntry, SvLBoxString* pItem, + const Selection& ); + void EditedText(const OUString&); + + // Recalculate all tabs depending on TreeListStyle and Bitmap sizes + // Is called automatically when inserting/changing Bitmaps, changing the Model etc. + virtual void SetTabs(); + void AddTab( long nPos, SvLBoxTabFlags nFlags ); + sal_uInt16 TabCount() const { return aTabs.size(); } + SvLBoxTab* GetFirstDynamicTab() const; + SvLBoxTab* GetFirstDynamicTab( sal_uInt16& rTabPos ) const; + SvLBoxTab* GetFirstTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rTabPos ); + void GetLastTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rTabPos ); + SvLBoxTab* GetTab( SvTreeListEntry const *, SvLBoxItem const * ) const; + void ClearTabList(); + + virtual void InitEntry(SvTreeListEntry*, const OUString&, const Image&, const Image&); + + void NotifyScrolled(); + void SetScrolledHdl( const Link& rLink ) { aScrolledHdl = rLink; } + long GetXOffset() const { return GetMapMode().GetOrigin().X(); } + + virtual void Command( const CommandEvent& rCEvt ) override; + + virtual void RequestHelp( const HelpEvent& rHEvt ) override; + virtual void PreparePaint(vcl::RenderContext& rRenderContext, SvTreeListEntry& rEntry); + virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; + + void InitSettings(); + + virtual void ApplySettings(vcl::RenderContext& rRenderContext) override; + + void CallImplEventListeners(VclEventId nEvent, void* pData); + + void ImplEditEntry( SvTreeListEntry* pEntry ); + + void AdjustEntryHeightAndRecalc(); + + // true if rPos is over the SvTreeListBox body, i.e. not over a + // scrollbar + VCL_DLLPRIVATE bool PosOverBody(const Point& rPos) const; +public: + + void SetNoAutoCurEntry( bool b ); + + void EnableCheckButton( SvLBoxButtonData* ); + void SetCheckButtonData( SvLBoxButtonData* ); + void SetNodeBitmaps( const Image& rCollapsedNodeBmp, const Image& rExpandedNodeBmp ); + + /** Returns the default image which clients should use for expanded nodes, to have a consistent user + interface experience in the whole product. + */ + static const Image& GetDefaultExpandedNodeImage( ); + + /** Returns the default image which clients should use for expanded nodes, to have a consistent user + interface experience in the whole product. + */ + static const Image& GetDefaultCollapsedNodeImage( ); + + /** Sets default bitmaps for collapsed and expanded nodes. + */ + void SetNodeDefaultImages( ) + { + SetNodeBitmaps( + GetDefaultCollapsedNodeImage( ), + GetDefaultExpandedNodeImage( ) + ); + } + + virtual SvTreeListEntry* InsertEntry( const OUString& rText, SvTreeListEntry* pParent = nullptr, + bool bChildrenOnDemand = false, + sal_uLong nPos=TREELIST_APPEND, void* pUserData = nullptr); + + virtual SvTreeListEntry* InsertEntry( const OUString& rText, + const Image& rExpandedEntryBmp, + const Image& rCollapsedEntryBmp, + SvTreeListEntry* pParent = nullptr, + bool bChildrenOnDemand = false, + sal_uLong nPos = TREELIST_APPEND, void* pUserData = nullptr ); + + const Image& GetDefaultExpandedEntryBmp( ) const; + const Image& GetDefaultCollapsedEntryBmp( ) const; + + void SetDefaultExpandedEntryBmp( const Image& rBmp ); + void SetDefaultCollapsedEntryBmp( const Image& rBmp ); + + void SetCheckButtonState( SvTreeListEntry*, SvButtonState ); + SvButtonState GetCheckButtonState( SvTreeListEntry* ) const; + + void SetEntryText(SvTreeListEntry*, const OUString& ); + void SetExpandedEntryBmp( SvTreeListEntry* _pEntry, const Image& _rImage ); + void SetCollapsedEntryBmp( SvTreeListEntry* _pEntry, const Image& _rImage ); + + virtual OUString GetEntryText( SvTreeListEntry* pEntry ) const; + static const Image& GetExpandedEntryBmp(const SvTreeListEntry* _pEntry ); + static const Image& GetCollapsedEntryBmp(const SvTreeListEntry* _pEntry ); + + virtual void CheckButtonHdl(); + + void SetSublistOpenWithLeftRight(); // open/close sublist with cursor left/right + + void EnableInplaceEditing( bool bEnable ); + // Edits the Entry's first StringItem, 0 == Cursor + void EditEntry( SvTreeListEntry* pEntry ); + virtual bool EditingEntry( SvTreeListEntry* pEntry, Selection& ); + virtual bool EditedEntry( SvTreeListEntry* pEntry, const OUString& rNewText ); + + virtual void Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override; + virtual void MouseButtonDown( const MouseEvent& rMEvt ) override; + virtual void MouseButtonUp( const MouseEvent& rMEvt ) override; + virtual void MouseMove( const MouseEvent& rMEvt ) override; + virtual void KeyInput( const KeyEvent& rKEvt ) override; + virtual void Resize() override; + virtual void GetFocus() override; + virtual void LoseFocus() override; + void SetUpdateMode( bool ); + + virtual void ModelHasCleared() override; + virtual void ModelHasInserted( SvTreeListEntry* pEntry ) override; + virtual void ModelHasInsertedTree( SvTreeListEntry* pEntry ) override; + virtual void ModelIsMoving(SvTreeListEntry* pSource ) override; + virtual void ModelHasMoved(SvTreeListEntry* pSource ) override; + virtual void ModelIsRemoving( SvTreeListEntry* pEntry ) override; + virtual void ModelHasRemoved( SvTreeListEntry* pEntry ) override; + void ModelHasEntryInvalidated( SvTreeListEntry* pEntry ) override; + + void ScrollOutputArea( short nDeltaEntries ); + + short GetColumnsCount() const { return nColumns; } + short GetEntryHeight() const { return nEntryHeight; } + void SetEntryHeight( short nHeight ); + short GetEntryWidth() const { return nEntryWidth; } + void SetEntryWidth( short nWidth ); + Size GetOutputSizePixel() const; + short GetIndent() const { return nIndent; } + void SetSpaceBetweenEntries( short nSpace ); + Point GetEntryPosition(const SvTreeListEntry*) const; + void MakeVisible( SvTreeListEntry* pEntry ); + void MakeVisible( SvTreeListEntry* pEntry, bool bMoveToTop ); + + void SetCollapsedNodeBmp( const Image& ); + void SetExpandedNodeBmp( const Image& ); + Image const & GetExpandedNodeBmp( ) const; + + void SetFont( const vcl::Font& rFont ); + + using Window::SetCursor; + void SetCursor( SvTreeListEntry* pEntry, bool bForceNoSelect = false ); + + SvTreeListEntry* GetEntry( const Point& rPos, bool bHit = false ) const; + + virtual tools::Rectangle GetFocusRect(const SvTreeListEntry*, long nLine ); + // Respects indentation + sal_IntPtr GetTabPos(const SvTreeListEntry*, SvLBoxTab*); + void InvalidateEntry( SvTreeListEntry* ); + SvLBoxItem* GetItem( SvTreeListEntry*, long nX, SvLBoxTab** ppTab); + SvLBoxItem* GetItem( SvTreeListEntry*, long nX ); + + void SetDragDropMode( DragDropMode ); + void SetSelectionMode( SelectionMode ); + + bool Expand( SvTreeListEntry* pParent ); + bool Collapse( SvTreeListEntry* pParent ); + bool Select( SvTreeListEntry* pEntry, bool bSelect=true ); + sal_uLong SelectChildren( SvTreeListEntry* pParent, bool bSelect ); + void SelectAll( bool bSelect ); + + void SetCurEntry( SvTreeListEntry* _pEntry ); + SvTreeListEntry* GetCurEntry() const; + + using Window::Invalidate; + virtual void Invalidate( InvalidateFlags nFlags = InvalidateFlags::NONE) override; + virtual void Invalidate( const tools::Rectangle&, InvalidateFlags nFlags = InvalidateFlags::NONE ) override; + + void SetHighlightRange(sal_uInt16 nFirstTab=0, sal_uInt16 nLastTab=0xffff); + + sal_Int32 DefaultCompare(const SvLBoxString* pLeftText, const SvLBoxString* pRightText); + + DECL_LINK( DefaultCompare, const SvSortData&, sal_Int32 ); + virtual void ModelNotification( SvListAction nActionId, SvTreeListEntry* pEntry1, + SvTreeListEntry* pEntry2, sal_uLong nPos ) override; + + void EndSelection(); + + SvTreeListEntry* GetFirstEntryInView() const; + SvTreeListEntry* GetNextEntryInView(SvTreeListEntry*) const; + void ScrollToAbsPos( long nPos ); + + void ShowFocusRect( const SvTreeListEntry* pEntry ); + + virtual VclPtr CreateContextMenu(); + + void EnableContextMenuHandling(); + + long getPreferredDimensions(std::vector &rWidths) const; + + virtual Size GetOptimalSize() const override; + + void SetAlternatingRowColors( const bool bEnable ); + + // Enables type-ahead search in the check list box. + void SetQuickSearch(bool bEnable) { mbQuickSearch = bEnable; } + + // Make single click "activate" a row like a double-click normally does + void SetActivateOnSingleClick(bool bEnable) { mbActivateOnSingleClick = bEnable; } + + // Make mouse over a row "select" a row like a single-click normally does + void SetHoverSelection(bool bEnable) { mbHoverSelection = bEnable; } + bool GetHoverSelection() const { return mbHoverSelection; } + + void SetForceMakeVisible(bool bEnable); + + virtual FactoryFunction GetUITestFactory() const override; + + void SetDragHelper(rtl::Reference& rHelper, sal_uInt8 eDNDConstants); +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/toolkit/treelistentries.hxx b/include/vcl/toolkit/treelistentries.hxx new file mode 100644 index 000000000000..fdd86dbfaf5f --- /dev/null +++ b/include/vcl/toolkit/treelistentries.hxx @@ -0,0 +1,23 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#pragma once + +#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) \ + && !defined(VCL_INTERNALS) +#error "don't use this in new code" +#endif + +#include +#include + +class SvTreeListEntry; +typedef std::vector> SvTreeListEntries; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/toolkit/treelistentry.hxx b/include/vcl/toolkit/treelistentry.hxx new file mode 100644 index 000000000000..dbfa87b204ac --- /dev/null +++ b/include/vcl/toolkit/treelistentry.hxx @@ -0,0 +1,132 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#pragma once + +#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS) +#error "don't use this in new code" +#endif + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +// flags related to the model +enum class SvTLEntryFlags +{ + NONE = 0x0000, + CHILDREN_ON_DEMAND = 0x0001, + DISABLE_DROP = 0x0002, + // is set if RequestingChildren has not set any children + NO_NODEBMP = 0x0004, + // is set if this is a separator line + IS_SEPARATOR = 0x0008, + // entry had or has children + HAD_CHILDREN = 0x0010, + SEMITRANSPARENT = 0x8000, // draw semi-transparent entry bitmaps +}; +namespace o3tl +{ + template<> struct typed_flags : is_typed_flags {}; +} + +class VCL_DLLPUBLIC SvTreeListEntry +{ + friend class SvTreeList; + friend class SvListView; + friend class SvTreeListBox; + + typedef std::vector> ItemsType; + + SvTreeListEntry* pParent; + SvTreeListEntries m_Children; + sal_uLong nAbsPos; + sal_uLong nListPos; + sal_uInt32 mnExtraIndent; + ItemsType m_Items; + void* pUserData; + SvTLEntryFlags nEntryFlags; + Color maBackColor; + std::optional mxTextColor; + +private: + void ClearChildren(); + void SetListPositions(); + void InvalidateChildrensListPositions(); + + SvTreeListEntry(const SvTreeListEntry& r) = delete; + void operator=(SvTreeListEntry const&) = delete; + +public: + static const size_t ITEM_NOT_FOUND = SAL_MAX_SIZE; + + SvTreeListEntry(); + virtual ~SvTreeListEntry(); + + bool HasChildren() const; + bool HasChildListPos() const; + sal_uLong GetChildListPos() const; + + SvTreeListEntries& GetChildEntries() { return m_Children; } + const SvTreeListEntries& GetChildEntries() const { return m_Children; } + + void Clone(SvTreeListEntry* pSource); + + size_t ItemCount() const; + + // MAY ONLY BE CALLED IF THE ENTRY HAS NOT YET BEEN INSERTED INTO + // THE MODEL, AS OTHERWISE NO VIEW-DEPENDENT DATA ARE ALLOCATED + // FOR THE ITEM! + void AddItem(std::unique_ptr pItem); + void ReplaceItem(std::unique_ptr pNewItem, size_t nPos); + const SvLBoxItem& GetItem( size_t nPos ) const; + SvLBoxItem& GetItem( size_t nPos ); + const SvLBoxItem* GetFirstItem(SvLBoxItemType eType) const; + SvLBoxItem* GetFirstItem(SvLBoxItemType eType); + size_t GetPos( const SvLBoxItem* pItem ) const; + void* GetUserData() const { return pUserData;} + void SetUserData( void* pPtr ); + void EnableChildrenOnDemand( bool bEnable=true ); + bool HasChildrenOnDemand() const; + + SvTLEntryFlags GetFlags() const { return nEntryFlags;} + void SetFlags( SvTLEntryFlags nFlags ); + + void SetBackColor( const Color& rColor ) { maBackColor = rColor; } + const Color& GetBackColor() const { return maBackColor; } + + void SetTextColor( std::optional xColor ) { mxTextColor = xColor; } + std::optional const & GetTextColor() const { return mxTextColor; } + + void SetExtraIndent(sal_uInt32 nExtraIndent) { mnExtraIndent = nExtraIndent; } + sal_uInt32 GetExtraIndent() const { return mnExtraIndent; } + + SvTreeListEntry* NextSibling() const; + SvTreeListEntry* PrevSibling() const; + SvTreeListEntry* LastSibling() const; +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/toolkit/viewdataentry.hxx b/include/vcl/toolkit/viewdataentry.hxx new file mode 100644 index 000000000000..daac693d8893 --- /dev/null +++ b/include/vcl/toolkit/viewdataentry.hxx @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#pragma once + +#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS) +#error "don't use this in new code" +#endif + +#include + +#include + +class SvTreeListBox; + +struct SvViewDataItem +{ + int mnWidth = 0; + int mnHeight = 0; +}; + +/** + * View-dependent data for a tree list entry created in the virtual function + * SvTreeListBox::CreateViewData(). The item array contains the same number + * of items as that of the items in its corresponding tree list entry. + * + * When an entry is selected, it is logically selected and visually + * highlighted. When an entry is only highlighted, it looks visually + * highlighted, but not logically selected. + */ +class SvViewDataEntry +{ + friend class SvTreeList; + + std::vector maItems; + sal_uLong nVisPos; + bool mbSelected:1; + bool mbHighlighted:1; + bool mbExpanded:1; + bool mbFocused:1; + bool mbSelectable:1; + bool mbDragTarget:1; + +public: + SvViewDataEntry(); + SvViewDataEntry( const SvViewDataEntry& ); + ~SvViewDataEntry(); + + bool IsSelected() const { return mbSelected;} + bool IsHighlighted() const { return mbHighlighted;} + bool IsExpanded() const { return mbExpanded;} + bool HasFocus() const { return mbFocused;} + bool IsSelectable() const { return mbSelectable;} + bool IsDragTarget() const { return mbDragTarget;} + void SetFocus( bool bFocus ); + void SetSelected( bool bSelected ); + void SetExpanded( bool bExpanded ); + void SetSelectable( bool bSelectable ); + void SetDragTarget( bool bDragTarget ) + { + mbDragTarget = bDragTarget; + } + + void Init(size_t nSize); + + const SvViewDataItem& GetItem(size_t nPos) const; + SvViewDataItem& GetItem(size_t nPos); +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/treelist.hxx b/include/vcl/treelist.hxx deleted file mode 100644 index 50698ec2b68b..000000000000 --- a/include/vcl/treelist.hxx +++ /dev/null @@ -1,301 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_VCL_TREELIST_HXX -#define INCLUDED_VCL_TREELIST_HXX - -#include -#include - -#include -#include -#include - -#include - -enum class SvListAction -{ - INSERTED = 1, - REMOVING = 2, - REMOVED = 3, - MOVING = 4, - MOVED = 5, - CLEARING = 6, - INSERTED_TREE = 7, - INVALIDATE_ENTRY = 8, - RESORTING = 9, - RESORTED = 10, - CLEARED = 11 -}; - -class SvTreeListEntry; -class SvListView; -class SvViewDataEntry; - -enum SvSortMode { SortAscending, SortDescending, SortNone }; - -// For the return values of Sortlink: -// See International::Compare( pLeft, pRight ) -// ( Compare(a,b) ==> b.Compare(a) ==> strcmp(a,b) ) -struct SvSortData -{ - const SvTreeListEntry* pLeft; - const SvTreeListEntry* pRight; -}; - -class VCL_DLLPUBLIC SvTreeList final -{ - friend class SvListView; - - SvListView& mrOwnerListView; - sal_uLong nEntryCount; - - Link aCloneLink; - Link aCompareLink; - SvSortMode eSortMode; - - bool bAbsPositionsValid; - - bool mbEnableInvalidate; - - SvTreeListEntry* FirstVisible() const { return First(); } - SvTreeListEntry* NextVisible( const SvListView*,SvTreeListEntry* pEntry, sal_uInt16* pDepth=nullptr ) const; - SvTreeListEntry* PrevVisible( const SvListView*,SvTreeListEntry* pEntry ) const; - SvTreeListEntry* LastVisible( const SvListView* ) const; - SvTreeListEntry* NextVisible( const SvListView*,SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const; - SvTreeListEntry* PrevVisible( const SvListView*,SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const; - - bool IsEntryVisible( const SvListView*,SvTreeListEntry* pEntry ) const; - SvTreeListEntry* GetEntryAtVisPos( const SvListView*,sal_uLong nVisPos ) const; - sal_uLong GetVisiblePos( const SvListView*,SvTreeListEntry const * pEntry ) const; - sal_uLong GetVisibleCount( SvListView* ) const; - sal_uLong GetVisibleChildCount( const SvListView*,SvTreeListEntry* pParent ) const; - - SvTreeListEntry* FirstSelected( const SvListView*) const; - SvTreeListEntry* NextSelected( const SvListView*,SvTreeListEntry* pEntry ) const; - - sal_uLong GetChildSelectionCount( const SvListView*,SvTreeListEntry* pParent ) const; - - VCL_DLLPRIVATE void SetAbsolutePositions(); - - VCL_DLLPRIVATE void CloneChildren( - SvTreeListEntries& rDst, sal_uLong& rCloneCount, SvTreeListEntries& rSrc, SvTreeListEntry& rNewParent) const; - - /** - * Invalidate the cached position data to have them re-generated before - * the next access. - */ - VCL_DLLPRIVATE static void SetListPositions( SvTreeListEntries& rEntries ); - - // rPos is not changed for SortModeNone - VCL_DLLPRIVATE void GetInsertionPos( - SvTreeListEntry const * pEntry, - SvTreeListEntry* pParent, - sal_uLong& rPos - ); - - VCL_DLLPRIVATE void ResortChildren( SvTreeListEntry* pParent ); - - SvTreeList(const SvTreeList&) = delete; - SvTreeList& operator= (const SvTreeList&) = delete; - - std::unique_ptr pRootItem; - -public: - - SvTreeList() = delete; - SvTreeList(SvListView&); - ~SvTreeList(); - - void Broadcast( - SvListAction nActionId, - SvTreeListEntry* pEntry1=nullptr, - SvTreeListEntry* pEntry2=nullptr, - sal_uLong nPos=0 - ); - - void EnableInvalidate( bool bEnable ); - - // Notify all Listeners - void InvalidateEntry( SvTreeListEntry* ); - - sal_uLong GetEntryCount() const { return nEntryCount; } - SvTreeListEntry* First() const; - SvTreeListEntry* Next( SvTreeListEntry* pEntry, sal_uInt16* pDepth=nullptr ) const; - SvTreeListEntry* Prev( SvTreeListEntry* pEntry ) const; - SvTreeListEntry* Last() const; - - SvTreeListEntry* FirstChild( SvTreeListEntry* pParent ) const; - - sal_uLong Insert( SvTreeListEntry* pEntry,SvTreeListEntry* pPar,sal_uLong nPos = TREELIST_APPEND); - sal_uLong Insert( SvTreeListEntry* pEntry,sal_uLong nRootPos = TREELIST_APPEND ) - { return Insert(pEntry, pRootItem.get(), nRootPos ); } - - void InsertTree( SvTreeListEntry* pTree, SvTreeListEntry* pTargetParent, sal_uLong nListPos ); - - // Entries need to be in the same Model! - void Move( SvTreeListEntry* pSource, SvTreeListEntry* pTarget ); - - // Creates ChildList if needed - sal_uLong Move( SvTreeListEntry* pSource, SvTreeListEntry* pTargetParent, sal_uLong nListPos); - sal_uLong Copy( SvTreeListEntry* pSource, SvTreeListEntry* pTargetParent, sal_uLong nListPos); - - bool Remove( const SvTreeListEntry* pEntry ); - void Clear(); - - bool HasChildren( const SvTreeListEntry* pEntry ) const; - bool HasParent( const SvTreeListEntry* pEntry ) const; - - bool IsChild(const SvTreeListEntry* pParent, const SvTreeListEntry* pChild) const; - SvTreeListEntry* GetEntry( SvTreeListEntry* pParent, sal_uLong nPos ) const; - SvTreeListEntry* GetEntry( sal_uLong nRootPos ) const; - SvTreeListEntry* GetEntryAtAbsPos( sal_uLong nAbsPos ) const; - - const SvTreeListEntry* GetParent( const SvTreeListEntry* pEntry ) const; - SvTreeListEntry* GetParent( SvTreeListEntry* pEntry ); - - SvTreeListEntry* GetRootLevelParent( SvTreeListEntry* pEntry ) const; - const SvTreeListEntries& GetChildList( SvTreeListEntry* pParent ) const; - SvTreeListEntries& GetChildList( SvTreeListEntry* pParent ); - - std::pair - GetChildIterators(SvTreeListEntry* pParent); - - sal_uLong GetAbsPos( const SvTreeListEntry* pEntry ) const; - static sal_uLong GetRelPos( const SvTreeListEntry* pChild ); - - sal_uLong GetChildCount( const SvTreeListEntry* pParent ) const; - sal_uInt16 GetDepth( const SvTreeListEntry* pEntry ) const; - bool IsAtRootDepth( const SvTreeListEntry* pEntry ) const; - - // The Model calls the Clone Link to clone Entries. - // Thus we do not need to derive from the Model if we derive from SvTreeListEntry. - // The Handler needs to return a SvTreeListEntry* - SvTreeListEntry* Clone( SvTreeListEntry* pEntry, sal_uLong& nCloneCount ) const; - void SetCloneLink( const Link& rLink ) - { aCloneLink=rLink; } - - const Link& GetCloneLink() const - { return aCloneLink; } - - SvTreeListEntry* CloneEntry( SvTreeListEntry* pSource ) const; // Calls the Clone Link - - void SetSortMode( SvSortMode eMode ) { eSortMode = eMode; } - SvSortMode GetSortMode() const { return eSortMode; } - sal_Int32 Compare(const SvTreeListEntry* pLeft, const SvTreeListEntry* pRight) const; - void SetCompareHdl( const Link& rLink ) { aCompareLink = rLink; } - void Resort(); -}; - -class VCL_DLLPUBLIC SvListView -{ - friend class SvTreeList; - - struct SAL_DLLPRIVATE Impl; - std::unique_ptr m_pImpl; - -protected: - std::unique_ptr pModel; - - void ExpandListEntry( SvTreeListEntry* pParent ); - void CollapseListEntry( SvTreeListEntry* pParent ); - bool SelectListEntry( SvTreeListEntry* pEntry, bool bSelect ); - -public: - SvListView(); // Sets the Model to 0 - void dispose(); - virtual ~SvListView(); - void Clear(); - virtual void ModelNotification( - SvListAction nActionId, - SvTreeListEntry* pEntry1, - SvTreeListEntry* pEntry2, - sal_uLong nPos - ); - - sal_uLong GetVisibleCount() const - { return pModel->GetVisibleCount( const_cast(this) ); } - - SvTreeListEntry* FirstVisible() const - { return pModel->FirstVisible(); } - - SvTreeListEntry* NextVisible( SvTreeListEntry* pEntry ) const - { return pModel->NextVisible(this,pEntry); } - - SvTreeListEntry* PrevVisible( SvTreeListEntry* pEntry ) const - { return pModel->PrevVisible(this,pEntry); } - - SvTreeListEntry* LastVisible() const - { return pModel->LastVisible(this); } - - SvTreeListEntry* NextVisible( SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const - { return pModel->NextVisible(this,pEntry,rDelta); } - - SvTreeListEntry* PrevVisible( SvTreeListEntry* pEntry, sal_uInt16& rDelta ) const - { return pModel->PrevVisible(this,pEntry,rDelta); } - - sal_uLong GetSelectionCount() const; - - SvTreeListEntry* FirstSelected() const - { return pModel->FirstSelected(this); } - - SvTreeListEntry* NextSelected( SvTreeListEntry* pEntry ) const - { return pModel->NextSelected(this,pEntry); } - - SvTreeListEntry* GetEntryAtAbsPos( sal_uLong nAbsPos ) const - { return pModel->GetEntryAtAbsPos(nAbsPos); } - - SvTreeListEntry* GetEntryAtVisPos( sal_uLong nVisPos ) const - { return pModel->GetEntryAtVisPos(this,nVisPos); } - - sal_uLong GetAbsPos( SvTreeListEntry const * pEntry ) const - { return pModel->GetAbsPos(pEntry); } - - sal_uLong GetVisiblePos( SvTreeListEntry const * pEntry ) const - { return pModel->GetVisiblePos(this,pEntry); } - - sal_uLong GetVisibleChildCount(SvTreeListEntry* pParent ) const - { return pModel->GetVisibleChildCount(this,pParent); } - - bool IsEntryVisible( SvTreeListEntry* pEntry ) const - { return pModel->IsEntryVisible(this,pEntry); } - - bool IsExpanded( SvTreeListEntry* pEntry ) const; - bool IsAllExpanded( SvTreeListEntry* pEntry) const; - bool IsSelected(const SvTreeListEntry* pEntry) const; - void SetEntryFocus( SvTreeListEntry* pEntry, bool bFocus ); - const SvViewDataEntry* GetViewData( const SvTreeListEntry* pEntry ) const; - SvViewDataEntry* GetViewData( SvTreeListEntry* pEntry ); - bool HasViewData() const; - - virtual void InitViewData( SvViewDataEntry*, SvTreeListEntry* pEntry ); - - virtual void ModelHasCleared(); - virtual void ModelHasInserted( SvTreeListEntry* pEntry ); - virtual void ModelHasInsertedTree( SvTreeListEntry* pEntry ); - virtual void ModelIsMoving( SvTreeListEntry* pSource ); - virtual void ModelHasMoved( SvTreeListEntry* pSource ); - virtual void ModelIsRemoving( SvTreeListEntry* pEntry ); - virtual void ModelHasRemoved( SvTreeListEntry* pEntry ); - virtual void ModelHasEntryInvalidated( SvTreeListEntry* pEntry ); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/treelistbox.hxx b/include/vcl/treelistbox.hxx deleted file mode 100644 index 578d815c641b..000000000000 --- a/include/vcl/treelistbox.hxx +++ /dev/null @@ -1,703 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_VCL_TREELISTBOX_HXX -#define INCLUDED_VCL_TREELISTBOX_HXX - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -class SvTreeListBox; -class SvTreeListEntry; -struct SvViewDataItem; -class SvViewDataEntry; -class SvInplaceEdit2; -class SvLBoxString; -class SvImpLBox; -class SvLBoxButtonData; -class Timer; -class Edit; - -namespace utl { - class AccessibleStateSetHelper; -} - -enum class SvButtonState { Unchecked, Checked, Tristate }; - -// ********************************************************************* -// *************************** Tabulators ****************************** -// ********************************************************************* - -enum class SvLBoxTabFlags -{ - NONE = 0x0000, - DYNAMIC = 0x0001, // Item's output column changes according to the Child Depth - ADJUST_RIGHT = 0x0002, // Item's right margin at the tabulator - ADJUST_LEFT = 0x0004, // Left margin - ADJUST_CENTER = 0x0008, // Center the item at the tabulator - - SHOW_SELECTION = 0x0010, // Visualize selection state - // Item needs to be able to return the surrounding polygon (D'n'D cursor) - EDITABLE = 0x0020, // Item editable at the tabulator - FORCE = 0x0040, // Switch off the default calculation of the first tabulator - // (on which Abo Tabpage/Extras/Option/Customize, etc. rely on) - // The first tab's position corresponds precisely to the Flags set - // and column widths -}; -namespace o3tl -{ - template<> struct typed_flags : is_typed_flags {}; -} - -#define SV_TAB_BORDER 8 - -#define SV_ENTRYHEIGHTOFFS_PIXEL 2 - -enum class SvTreeFlags -{ - CHKBTN = 0x01, - USESEL = 0x02, - MANINS = 0x04, - RECALCTABS = 0x08, - FIXEDHEIGHT = 0x10, -}; -namespace o3tl -{ - template<> struct typed_flags : is_typed_flags {}; -} - -enum class SvLBoxItemType {String, Button, ContextBmp}; - -class SvLBoxTab -{ - long nPos; -public: - SvLBoxTab(); - SvLBoxTab( long nPos, SvLBoxTabFlags nFlags ); - SvLBoxTab( const SvLBoxTab& ); - ~SvLBoxTab(); - - SvLBoxTabFlags nFlags; - - bool IsDynamic() const { return bool(nFlags & SvLBoxTabFlags::DYNAMIC); } - void SetPos( long nNewPos) { nPos = nNewPos; } - long GetPos() const { return nPos; } - long CalcOffset( long nItemLength, long nTabWidth ); - bool IsEditable() const { return bool(nFlags & SvLBoxTabFlags::EDITABLE); } -}; - -class VCL_DLLPUBLIC SvLBoxItem -{ -protected: - bool mbDisabled; - -public: - SvLBoxItem(); - virtual ~SvLBoxItem(); - virtual SvLBoxItemType GetType() const = 0; - virtual int CalcWidth(const SvTreeListBox* pView) const; - int GetWidth(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; - int GetWidth(const SvTreeListBox* pView, const SvViewDataEntry* pData, sal_uInt16 nItemPos); - int GetHeight(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; - static int GetHeight(const SvViewDataEntry* pData, sal_uInt16 nItemPos); - void Enable(bool bEnabled) { mbDisabled = !bEnabled; } - - virtual void Paint(const Point& rPos, SvTreeListBox& rOutDev, vcl::RenderContext& rRenderContext, const SvViewDataEntry* pView, const SvTreeListEntry& rEntry) = 0; - - virtual void InitViewData(SvTreeListBox* pView, SvTreeListEntry* pEntry, - // If != 0: this Pointer must be used! - // If == 0: it needs to be retrieved via the View - SvViewDataItem* pViewData = nullptr) = 0; - // View-dependent data is not cloned - virtual std::unique_ptr Clone(SvLBoxItem const * pSource) const = 0; -}; - -enum class DragDropMode -{ - NONE = 0x0000, - CTRL_MOVE = 0x0001, - APP_COPY = 0x0004, - // Entries may be dropped via the uppermost Entry - // The DropTarget is 0 in that case - ENABLE_TOP = 0x0010, - ALL = 0x0015, -}; -namespace o3tl -{ - template<> struct typed_flags : is_typed_flags {}; -} - -enum class SvTreeListBoxFlags -{ - NONE = 0x0000, - IN_EDT = 0x0001, - EDT_ENABLED = 0x0002, - TARGEMPH_VIS = 0x0004, - EDTEND_CALLED = 0x0008, -}; -namespace o3tl -{ - template<> struct typed_flags : is_typed_flags {}; -} - -struct SvTreeListBoxImpl; - -typedef std::pair svtree_measure_args; -typedef std::tuple svtree_render_args; - -class VCL_DLLPUBLIC SvTreeListBox - :public Control - ,public SvListView - ,public DropTargetHelper - ,public DragSourceHelper - ,public vcl::ISearchableStringList -{ - friend class SvImpLBox; - friend class SvLBoxString; - friend class IconViewImpl; - friend class TreeControlPeer; - friend class SalInstanceIconView; - friend class SalInstanceTreeView; - friend class SalInstanceEntryTreeView; - - std::unique_ptr mpImpl; - Link aScrolledHdl; - Link aExpandedHdl; - Link aExpandingHdl; - Link aSelectHdl; - Link aDeselectHdl; - Link aPopupMenuHdl; - Link aTooltipHdl; - Link aCustomRenderHdl; - Link aCustomMeasureHdl; - - Image aPrevInsertedExpBmp; - Image aPrevInsertedColBmp; - Image aCurInsertedExpBmp; - Image aCurInsertedColBmp; - - short nContextBmpWidthMax; - short nEntryHeightOffs; - short nIndent; - short nFocusWidth; - sal_uInt16 nFirstSelTab; - sal_uInt16 nLastSelTab; - long mnCheckboxItemWidth; - bool mbContextBmpExpanded; - bool mbAlternatingRowColors; - bool mbUpdateAlternatingRows; - bool mbQuickSearch; // Enables type-ahead search in the check list box. - bool mbActivateOnSingleClick; // Make single click "activate" a row like a double-click normally does - bool mbHoverSelection; // Make mouse over a row "select" a row like a single-click normally does - - SvTreeListEntry* pHdlEntry; - - DragDropMode nDragDropMode; - DragDropMode nOldDragMode; - SelectionMode eSelMode; - sal_Int32 nMinWidthInChars; - - sal_Int8 mnDragAction; - - SvTreeListEntry* pEdEntry; - SvLBoxItem* pEdItem; - - rtl::Reference m_xTransferHelper; - -protected: - std::unique_ptr pImpl; - short nColumns; - short nEntryHeight; - short nEntryWidth; - bool mbCenterAndClipText; - - Link aDoubleClickHdl; - SvTreeListEntry* pTargetEntry; - SvLBoxButtonData* pCheckButtonData; - std::vector> aTabs; - SvTreeFlags nTreeFlags; - SvTreeListBoxFlags nImpFlags; - // Move/CopySelection: Position of the current Entry in SelectionList - sal_uInt16 nCurEntrySelPos; - -private: - DECL_DLLPRIVATE_LINK( CheckButtonClick, SvLBoxButtonData *, void ); - DECL_DLLPRIVATE_LINK( TextEditEndedHdl_Impl, SvInplaceEdit2&, void ); - // Handler that is called by TreeList to clone an Entry - DECL_DLLPRIVATE_LINK( CloneHdl_Impl, SvTreeListEntry*, SvTreeListEntry* ); - - // Handler and methods for Drag - finished handler. - // The Handle retrieved by GetDragFinishedHdl can be set on the - // TransferDataContainer. This link is a callback for the DragFinished - // call. The AddBox method is called from the GetDragFinishedHdl() and the - // remove is called in the link callback and in the dtor. So it can't be - // called for a deleted object. - VCL_DLLPRIVATE static void AddBoxToDDList_Impl( const SvTreeListBox& rB ); - VCL_DLLPRIVATE static void RemoveBoxFromDDList_Impl( const SvTreeListBox& rB ); - DECL_DLLPRIVATE_LINK( DragFinishHdl_Impl, sal_Int8, void ); - - // after a checkbox entry is inserted, use this to get its width to support - // autowidth for the 1st checkbox column - VCL_DLLPRIVATE void CheckBoxInserted(SvTreeListEntry* pEntry); - - VCL_DLLPRIVATE void DrawCustomEntry(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect, const SvTreeListEntry& rEntry); - VCL_DLLPRIVATE Size MeasureCustomEntry(vcl::RenderContext& rRenderContext, const SvTreeListEntry& rEntry); - - /** Handles the given key event. - - At the moment this merely does typeahead if typeahead is enabled. - - @return - if the event has been consumed, otherwise. - */ - VCL_DLLPRIVATE bool HandleKeyInput(const KeyEvent& rKEvt); - - void UnsetDropTarget(); - -protected: - - bool CheckDragAndDropMode( SvTreeListBox const * pSource, sal_Int8 ); - void ImplShowTargetEmphasis( SvTreeListEntry* pEntry, bool bShow); - void EnableSelectionAsDropTarget( bool bEnable = true ); - // Standard impl returns 0; derived classes which support D'n'D must override - using Window::GetDropTarget; - virtual SvTreeListEntry* GetDropTarget( const Point& ); - - // Invalidate children on enable/disable - virtual void StateChanged( StateChangedType eType ) override; - - virtual sal_uLong Insert( SvTreeListEntry* pEnt,SvTreeListEntry* pPar,sal_uLong nPos=TREELIST_APPEND); - virtual sal_uLong Insert( SvTreeListEntry* pEntry,sal_uLong nRootPos = TREELIST_APPEND ); - - // In-place editing - std::unique_ptr pEdCtrl; - void EditText( const OUString&, const tools::Rectangle&,const Selection&); - void CancelTextEditing(); - - // InitViewData is called right after CreateViewData - // The Entry is has not yet been added to the View in InitViewData! - virtual void InitViewData( SvViewDataEntry*, SvTreeListEntry* pEntry ) override; - // Calls InitViewData for all Items - void RecalcViewData(); - - // Handler and methods for Drag - finished handler. This link can be set - // to the TransferDataContainer. The AddBox/RemoveBox methods must be - // called before the StartDrag call. - // The Remove will be called from the handler, which then calls DragFinish. - // The Remove is also called in the DTOR of the SvTreeListBox - - // so it can't be called for a deleted object. - Link GetDragFinishedHdl() const; - - // For asynchronous D'n'D - sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt, SvTreeListBox* pSourceView ); - - void OnCurrentEntryChanged(); - - // ISearchableStringList - virtual vcl::StringEntryIdentifier CurrentEntry( OUString& _out_entryText ) const override; - virtual vcl::StringEntryIdentifier NextEntry( vcl::StringEntryIdentifier _currentEntry, OUString& _out_entryText ) const override; - virtual void SelectEntry( vcl::StringEntryIdentifier _entry ) override; - -public: - - SvTreeListBox( vcl::Window* pParent, WinBits nWinStyle=0 ); - virtual ~SvTreeListBox() override; - virtual void dispose() override; - - SvTreeList* GetModel() const - { - return pModel.get(); - } - - sal_uLong GetEntryCount() const - { - return pModel ? pModel->GetEntryCount() : 0; - } - SvTreeListEntry* First() const - { - return pModel ? pModel->First() : nullptr; - } - SvTreeListEntry* Next( SvTreeListEntry* pEntry ) const - { - return pModel->Next(pEntry); - } - SvTreeListEntry* Prev( SvTreeListEntry* pEntry ) const - { - return pModel->Prev(pEntry); - } - SvTreeListEntry* Last() const - { - return pModel ? pModel->Last() : nullptr; - } - - SvTreeListEntry* FirstChild( SvTreeListEntry* pParent ) const; - - bool CopySelection( SvTreeListBox* pSource, SvTreeListEntry* pTarget ); - bool MoveSelectionCopyFallbackPossible( SvTreeListBox* pSource, SvTreeListEntry* pTarget, bool bAllowCopyFallback ); - void RemoveSelection(); - /** - * Removes the entry along with all of its descendants - */ - void RemoveEntry(SvTreeListEntry const * pEntry); - - DragDropMode GetDragDropMode() const { return nDragDropMode; } - SelectionMode GetSelectionMode() const { return eSelMode; } - - // pParent == 0 -> Root level - SvTreeListEntry* GetEntry( SvTreeListEntry* pParent, sal_uLong nPos ) const; - SvTreeListEntry* GetEntry( sal_uLong nRootPos ) const; - - SvTreeListEntry* GetEntryFromPath( const ::std::deque< sal_Int32 >& _rPath ) const; - void FillEntryPath( SvTreeListEntry* pEntry, ::std::deque< sal_Int32 >& _rPath ) const; - - using Window::GetParent; - SvTreeListEntry* GetParent( SvTreeListEntry* pEntry ) const; - SvTreeListEntry* GetRootLevelParent(SvTreeListEntry* pEntry ) const; - - using Window::GetChildCount; - sal_uLong GetChildCount( SvTreeListEntry const * pParent ) const; - sal_uLong GetLevelChildCount( SvTreeListEntry* pParent ) const; - - SvViewDataEntry* GetViewDataEntry( SvTreeListEntry const * pEntry ) const; - SvViewDataItem* GetViewDataItem(SvTreeListEntry const *, SvLBoxItem const *); - const SvViewDataItem* GetViewDataItem(const SvTreeListEntry*, const SvLBoxItem*) const; - - bool IsInplaceEditingEnabled() const { return bool(nImpFlags & SvTreeListBoxFlags::EDT_ENABLED); } - bool IsEditingActive() const { return bool(nImpFlags & SvTreeListBoxFlags::IN_EDT); } - void EndEditing( bool bCancel = false ); - - void Clear(); - - bool TextCenterAndClipEnabled() const { return mbCenterAndClipText; } - - void SetSelectHdl( const Link& rNewHdl ) {aSelectHdl=rNewHdl; } - void SetDeselectHdl( const Link& rNewHdl ) {aDeselectHdl=rNewHdl; } - void SetDoubleClickHdl(const Link& rNewHdl) {aDoubleClickHdl=rNewHdl;} - void SetExpandingHdl(const Link& rNewHdl){aExpandingHdl=rNewHdl;} - void SetExpandedHdl(const Link& rNewHdl){aExpandedHdl=rNewHdl;} - void SetPopupMenuHdl(const Link& rLink) { aPopupMenuHdl = rLink; } - void SetTooltipHdl(const Link& rLink) { aTooltipHdl = rLink; } - void SetCustomRenderHdl(const Link& rLink) { aCustomRenderHdl = rLink; } - void SetCustomMeasureHdl(const Link& rLink) { aCustomMeasureHdl = rLink; } - - void ExpandedHdl(); - bool ExpandingHdl(); - virtual void SelectHdl(); - virtual void DeselectHdl(); - virtual bool DoubleClickHdl(); - SvTreeListEntry* GetHdlEntry() const { return pHdlEntry; } - - // Is called for an Entry that gets expanded with the Flag - // ENTRYFLAG_CHILDREN_ON_DEMAND set. - virtual void RequestingChildren( SvTreeListEntry* pParent ); - - // Drag & Drop - // New D'n'D API - virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) override; - virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) override; - virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ) override; - virtual DragDropMode NotifyStartDrag( TransferDataContainer& rData, - SvTreeListEntry* ); - virtual void DragFinished( sal_Int8 nDropAction ); - - SvTreeListEntry* CloneEntry( SvTreeListEntry* pSource ); - - // Return value: TRISTATE_TRUE == Ok, TRISTATE_FALSE == Cancel, TRISTATE_INDET == Ok and Make visible moved entry - TriState NotifyMoving( - SvTreeListEntry* pTarget, // D'n'D DropPosition in GetModel() - SvTreeListEntry* pEntry, // Entry to be moved from GetSourceListBox()->GetModel() - SvTreeListEntry*& rpNewParent, // New TargetParent - sal_uLong& rNewChildPos); // The TargetParent's position in Childlist - - // Return value: TRISTATE_TRUE == Ok, TRISTATE_FALSE == Cancel, TRISTATE_INDET == Ok and Make visible moved entry - TriState NotifyCopying( - SvTreeListEntry* pTarget, // D'n'D DropPosition in GetModel() - SvTreeListEntry* pEntry, // Entry to be copied from GetSourceListBox()->GetModel() - SvTreeListEntry*& rpNewParent, // New TargetParent - sal_uLong& rNewChildPos); // The TargetParent's position in Childlist - - // ACCESSIBILITY ========================================================== - - /** Creates and returns the accessible object of the Box. */ - virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override; - - /** Fills the StateSet of one entry. */ - void FillAccessibleEntryStateSet( SvTreeListEntry* pEntry, ::utl::AccessibleStateSetHelper& rStateSet ) const; - - /** Calculate and return the bounding rectangle of an entry. - @param pEntry - The entry. - @return The bounding rectangle of an entry. */ - tools::Rectangle GetBoundingRect(const SvTreeListEntry* pEntry); - - SvTreeFlags GetTreeFlags() const {return nTreeFlags;} - - static OUString SearchEntryTextWithHeadTitle(SvTreeListEntry* pEntry); - - void set_min_width_in_chars(sal_Int32 nChars); - - virtual bool set_property(const OString &rKey, const OUString &rValue) override; - -protected: - - VCL_DLLPRIVATE void SetEntryHeight( SvTreeListEntry const * pEntry ); - void AdjustEntryHeight( const Image& rBmp ); - VCL_DLLPRIVATE void AdjustEntryHeight(); - - VCL_DLLPRIVATE void ImpEntryInserted( SvTreeListEntry* pEntry ); - VCL_DLLPRIVATE void PaintEntry1( SvTreeListEntry&, long nLine, vcl::RenderContext& rRenderContext ); - - VCL_DLLPRIVATE void InitTreeView(); - VCL_DLLPRIVATE SvLBoxItem* GetItem_Impl( SvTreeListEntry*, long nX, SvLBoxTab** ppTab ); - VCL_DLLPRIVATE void ImplInitStyle(); - - void SetupDragOrigin(); - void EditItemText( SvTreeListEntry* pEntry, SvLBoxString* pItem, - const Selection& ); - void EditedText(const OUString&); - - // Recalculate all tabs depending on TreeListStyle and Bitmap sizes - // Is called automatically when inserting/changing Bitmaps, changing the Model etc. - virtual void SetTabs(); - void AddTab( long nPos, SvLBoxTabFlags nFlags ); - sal_uInt16 TabCount() const { return aTabs.size(); } - SvLBoxTab* GetFirstDynamicTab() const; - SvLBoxTab* GetFirstDynamicTab( sal_uInt16& rTabPos ) const; - SvLBoxTab* GetFirstTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rTabPos ); - void GetLastTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rTabPos ); - SvLBoxTab* GetTab( SvTreeListEntry const *, SvLBoxItem const * ) const; - void ClearTabList(); - - virtual void InitEntry(SvTreeListEntry*, const OUString&, const Image&, const Image&); - - void NotifyScrolled(); - void SetScrolledHdl( const Link& rLink ) { aScrolledHdl = rLink; } - long GetXOffset() const { return GetMapMode().GetOrigin().X(); } - - virtual void Command( const CommandEvent& rCEvt ) override; - - virtual void RequestHelp( const HelpEvent& rHEvt ) override; - virtual void PreparePaint(vcl::RenderContext& rRenderContext, SvTreeListEntry& rEntry); - virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; - - void InitSettings(); - - virtual void ApplySettings(vcl::RenderContext& rRenderContext) override; - - void CallImplEventListeners(VclEventId nEvent, void* pData); - - void ImplEditEntry( SvTreeListEntry* pEntry ); - - void AdjustEntryHeightAndRecalc(); - - // true if rPos is over the SvTreeListBox body, i.e. not over a - // scrollbar - VCL_DLLPRIVATE bool PosOverBody(const Point& rPos) const; -public: - - void SetNoAutoCurEntry( bool b ); - - void EnableCheckButton( SvLBoxButtonData* ); - void SetCheckButtonData( SvLBoxButtonData* ); - void SetNodeBitmaps( const Image& rCollapsedNodeBmp, const Image& rExpandedNodeBmp ); - - /** Returns the default image which clients should use for expanded nodes, to have a consistent user - interface experience in the whole product. - */ - static const Image& GetDefaultExpandedNodeImage( ); - - /** Returns the default image which clients should use for expanded nodes, to have a consistent user - interface experience in the whole product. - */ - static const Image& GetDefaultCollapsedNodeImage( ); - - /** Sets default bitmaps for collapsed and expanded nodes. - */ - void SetNodeDefaultImages( ) - { - SetNodeBitmaps( - GetDefaultCollapsedNodeImage( ), - GetDefaultExpandedNodeImage( ) - ); - } - - virtual SvTreeListEntry* InsertEntry( const OUString& rText, SvTreeListEntry* pParent = nullptr, - bool bChildrenOnDemand = false, - sal_uLong nPos=TREELIST_APPEND, void* pUserData = nullptr); - - virtual SvTreeListEntry* InsertEntry( const OUString& rText, - const Image& rExpandedEntryBmp, - const Image& rCollapsedEntryBmp, - SvTreeListEntry* pParent = nullptr, - bool bChildrenOnDemand = false, - sal_uLong nPos = TREELIST_APPEND, void* pUserData = nullptr ); - - const Image& GetDefaultExpandedEntryBmp( ) const; - const Image& GetDefaultCollapsedEntryBmp( ) const; - - void SetDefaultExpandedEntryBmp( const Image& rBmp ); - void SetDefaultCollapsedEntryBmp( const Image& rBmp ); - - void SetCheckButtonState( SvTreeListEntry*, SvButtonState ); - SvButtonState GetCheckButtonState( SvTreeListEntry* ) const; - - void SetEntryText(SvTreeListEntry*, const OUString& ); - void SetExpandedEntryBmp( SvTreeListEntry* _pEntry, const Image& _rImage ); - void SetCollapsedEntryBmp( SvTreeListEntry* _pEntry, const Image& _rImage ); - - virtual OUString GetEntryText( SvTreeListEntry* pEntry ) const; - static const Image& GetExpandedEntryBmp(const SvTreeListEntry* _pEntry ); - static const Image& GetCollapsedEntryBmp(const SvTreeListEntry* _pEntry ); - - virtual void CheckButtonHdl(); - - void SetSublistOpenWithLeftRight(); // open/close sublist with cursor left/right - - void EnableInplaceEditing( bool bEnable ); - // Edits the Entry's first StringItem, 0 == Cursor - void EditEntry( SvTreeListEntry* pEntry ); - virtual bool EditingEntry( SvTreeListEntry* pEntry, Selection& ); - virtual bool EditedEntry( SvTreeListEntry* pEntry, const OUString& rNewText ); - - virtual void Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override; - virtual void MouseButtonDown( const MouseEvent& rMEvt ) override; - virtual void MouseButtonUp( const MouseEvent& rMEvt ) override; - virtual void MouseMove( const MouseEvent& rMEvt ) override; - virtual void KeyInput( const KeyEvent& rKEvt ) override; - virtual void Resize() override; - virtual void GetFocus() override; - virtual void LoseFocus() override; - void SetUpdateMode( bool ); - - virtual void ModelHasCleared() override; - virtual void ModelHasInserted( SvTreeListEntry* pEntry ) override; - virtual void ModelHasInsertedTree( SvTreeListEntry* pEntry ) override; - virtual void ModelIsMoving(SvTreeListEntry* pSource ) override; - virtual void ModelHasMoved(SvTreeListEntry* pSource ) override; - virtual void ModelIsRemoving( SvTreeListEntry* pEntry ) override; - virtual void ModelHasRemoved( SvTreeListEntry* pEntry ) override; - void ModelHasEntryInvalidated( SvTreeListEntry* pEntry ) override; - - void ScrollOutputArea( short nDeltaEntries ); - - short GetColumnsCount() const { return nColumns; } - short GetEntryHeight() const { return nEntryHeight; } - void SetEntryHeight( short nHeight ); - short GetEntryWidth() const { return nEntryWidth; } - void SetEntryWidth( short nWidth ); - Size GetOutputSizePixel() const; - short GetIndent() const { return nIndent; } - void SetSpaceBetweenEntries( short nSpace ); - Point GetEntryPosition(const SvTreeListEntry*) const; - void MakeVisible( SvTreeListEntry* pEntry ); - void MakeVisible( SvTreeListEntry* pEntry, bool bMoveToTop ); - - void SetCollapsedNodeBmp( const Image& ); - void SetExpandedNodeBmp( const Image& ); - Image const & GetExpandedNodeBmp( ) const; - - void SetFont( const vcl::Font& rFont ); - - using Window::SetCursor; - void SetCursor( SvTreeListEntry* pEntry, bool bForceNoSelect = false ); - - SvTreeListEntry* GetEntry( const Point& rPos, bool bHit = false ) const; - - virtual tools::Rectangle GetFocusRect(const SvTreeListEntry*, long nLine ); - // Respects indentation - sal_IntPtr GetTabPos(const SvTreeListEntry*, SvLBoxTab*); - void InvalidateEntry( SvTreeListEntry* ); - SvLBoxItem* GetItem( SvTreeListEntry*, long nX, SvLBoxTab** ppTab); - SvLBoxItem* GetItem( SvTreeListEntry*, long nX ); - - void SetDragDropMode( DragDropMode ); - void SetSelectionMode( SelectionMode ); - - bool Expand( SvTreeListEntry* pParent ); - bool Collapse( SvTreeListEntry* pParent ); - bool Select( SvTreeListEntry* pEntry, bool bSelect=true ); - sal_uLong SelectChildren( SvTreeListEntry* pParent, bool bSelect ); - void SelectAll( bool bSelect ); - - void SetCurEntry( SvTreeListEntry* _pEntry ); - SvTreeListEntry* GetCurEntry() const; - - using Window::Invalidate; - virtual void Invalidate( InvalidateFlags nFlags = InvalidateFlags::NONE) override; - virtual void Invalidate( const tools::Rectangle&, InvalidateFlags nFlags = InvalidateFlags::NONE ) override; - - void SetHighlightRange(sal_uInt16 nFirstTab=0, sal_uInt16 nLastTab=0xffff); - - sal_Int32 DefaultCompare(const SvLBoxString* pLeftText, const SvLBoxString* pRightText); - - DECL_LINK( DefaultCompare, const SvSortData&, sal_Int32 ); - virtual void ModelNotification( SvListAction nActionId, SvTreeListEntry* pEntry1, - SvTreeListEntry* pEntry2, sal_uLong nPos ) override; - - void EndSelection(); - - SvTreeListEntry* GetFirstEntryInView() const; - SvTreeListEntry* GetNextEntryInView(SvTreeListEntry*) const; - void ScrollToAbsPos( long nPos ); - - void ShowFocusRect( const SvTreeListEntry* pEntry ); - - virtual VclPtr CreateContextMenu(); - - void EnableContextMenuHandling(); - - long getPreferredDimensions(std::vector &rWidths) const; - - virtual Size GetOptimalSize() const override; - - void SetAlternatingRowColors( const bool bEnable ); - - // Enables type-ahead search in the check list box. - void SetQuickSearch(bool bEnable) { mbQuickSearch = bEnable; } - - // Make single click "activate" a row like a double-click normally does - void SetActivateOnSingleClick(bool bEnable) { mbActivateOnSingleClick = bEnable; } - - // Make mouse over a row "select" a row like a single-click normally does - void SetHoverSelection(bool bEnable) { mbHoverSelection = bEnable; } - bool GetHoverSelection() const { return mbHoverSelection; } - - void SetForceMakeVisible(bool bEnable); - - virtual FactoryFunction GetUITestFactory() const override; - - void SetDragHelper(rtl::Reference& rHelper, sal_uInt8 eDNDConstants); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/treelistentries.hxx b/include/vcl/treelistentries.hxx deleted file mode 100644 index ffe0cb571c55..000000000000 --- a/include/vcl/treelistentries.hxx +++ /dev/null @@ -1,21 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#ifndef INCLUDED_VCL_TREELISTENTRIES_HXX -#define INCLUDED_VCL_TREELISTENTRIES_HXX - -#include -#include - -class SvTreeListEntry; -typedef std::vector> SvTreeListEntries; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/treelistentry.hxx b/include/vcl/treelistentry.hxx deleted file mode 100644 index 14a4dc486f44..000000000000 --- a/include/vcl/treelistentry.hxx +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_VCL_TREELISTENTRY_HXX -#define INCLUDED_VCL_TREELISTENTRY_HXX - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// flags related to the model -enum class SvTLEntryFlags -{ - NONE = 0x0000, - CHILDREN_ON_DEMAND = 0x0001, - DISABLE_DROP = 0x0002, - // is set if RequestingChildren has not set any children - NO_NODEBMP = 0x0004, - // is set if this is a separator line - IS_SEPARATOR = 0x0008, - // entry had or has children - HAD_CHILDREN = 0x0010, - SEMITRANSPARENT = 0x8000, // draw semi-transparent entry bitmaps -}; -namespace o3tl -{ - template<> struct typed_flags : is_typed_flags {}; -} - -class VCL_DLLPUBLIC SvTreeListEntry -{ - friend class SvTreeList; - friend class SvListView; - friend class SvTreeListBox; - - typedef std::vector> ItemsType; - - SvTreeListEntry* pParent; - SvTreeListEntries m_Children; - sal_uLong nAbsPos; - sal_uLong nListPos; - sal_uInt32 mnExtraIndent; - ItemsType m_Items; - void* pUserData; - SvTLEntryFlags nEntryFlags; - Color maBackColor; - std::optional mxTextColor; - -private: - void ClearChildren(); - void SetListPositions(); - void InvalidateChildrensListPositions(); - - SvTreeListEntry(const SvTreeListEntry& r) = delete; - void operator=(SvTreeListEntry const&) = delete; - -public: - static const size_t ITEM_NOT_FOUND = SAL_MAX_SIZE; - - SvTreeListEntry(); - virtual ~SvTreeListEntry(); - - bool HasChildren() const; - bool HasChildListPos() const; - sal_uLong GetChildListPos() const; - - SvTreeListEntries& GetChildEntries() { return m_Children; } - const SvTreeListEntries& GetChildEntries() const { return m_Children; } - - void Clone(SvTreeListEntry* pSource); - - size_t ItemCount() const; - - // MAY ONLY BE CALLED IF THE ENTRY HAS NOT YET BEEN INSERTED INTO - // THE MODEL, AS OTHERWISE NO VIEW-DEPENDENT DATA ARE ALLOCATED - // FOR THE ITEM! - void AddItem(std::unique_ptr pItem); - void ReplaceItem(std::unique_ptr pNewItem, size_t nPos); - const SvLBoxItem& GetItem( size_t nPos ) const; - SvLBoxItem& GetItem( size_t nPos ); - const SvLBoxItem* GetFirstItem(SvLBoxItemType eType) const; - SvLBoxItem* GetFirstItem(SvLBoxItemType eType); - size_t GetPos( const SvLBoxItem* pItem ) const; - void* GetUserData() const { return pUserData;} - void SetUserData( void* pPtr ); - void EnableChildrenOnDemand( bool bEnable=true ); - bool HasChildrenOnDemand() const; - - SvTLEntryFlags GetFlags() const { return nEntryFlags;} - void SetFlags( SvTLEntryFlags nFlags ); - - void SetBackColor( const Color& rColor ) { maBackColor = rColor; } - const Color& GetBackColor() const { return maBackColor; } - - void SetTextColor( std::optional xColor ) { mxTextColor = xColor; } - std::optional const & GetTextColor() const { return mxTextColor; } - - void SetExtraIndent(sal_uInt32 nExtraIndent) { mnExtraIndent = nExtraIndent; } - sal_uInt32 GetExtraIndent() const { return mnExtraIndent; } - - SvTreeListEntry* NextSibling() const; - SvTreeListEntry* PrevSibling() const; - SvTreeListEntry* LastSibling() const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/uitest/uiobject.hxx b/include/vcl/uitest/uiobject.hxx index c5b3f07dbe75..50533157e19b 100644 --- a/include/vcl/uitest/uiobject.hxx +++ b/include/vcl/uitest/uiobject.hxx @@ -16,7 +16,6 @@ #include #include -#include #include diff --git a/include/vcl/viewdataentry.hxx b/include/vcl/viewdataentry.hxx deleted file mode 100644 index c81ab05a97e3..000000000000 --- a/include/vcl/viewdataentry.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef INCLUDED_VCL_VIEWDATAENTRY_HXX -#define INCLUDED_VCL_VIEWDATAENTRY_HXX - -#include - -#include - -class SvTreeListBox; - -struct SvViewDataItem -{ - int mnWidth = 0; - int mnHeight = 0; -}; - -/** - * View-dependent data for a tree list entry created in the virtual function - * SvTreeListBox::CreateViewData(). The item array contains the same number - * of items as that of the items in its corresponding tree list entry. - * - * When an entry is selected, it is logically selected and visually - * highlighted. When an entry is only highlighted, it looks visually - * highlighted, but not logically selected. - */ -class SvViewDataEntry -{ - friend class SvTreeList; - - std::vector maItems; - sal_uLong nVisPos; - bool mbSelected:1; - bool mbHighlighted:1; - bool mbExpanded:1; - bool mbFocused:1; - bool mbSelectable:1; - bool mbDragTarget:1; - -public: - SvViewDataEntry(); - SvViewDataEntry( const SvViewDataEntry& ); - ~SvViewDataEntry(); - - bool IsSelected() const { return mbSelected;} - bool IsHighlighted() const { return mbHighlighted;} - bool IsExpanded() const { return mbExpanded;} - bool HasFocus() const { return mbFocused;} - bool IsSelectable() const { return mbSelectable;} - bool IsDragTarget() const { return mbDragTarget;} - void SetFocus( bool bFocus ); - void SetSelected( bool bSelected ); - void SetExpanded( bool bExpanded ); - void SetSelectable( bool bSelectable ); - void SetDragTarget( bool bDragTarget ) - { - mbDragTarget = bDragTarget; - } - - void Init(size_t nSize); - - const SvViewDataItem& GetItem(size_t nPos) const; - SvViewDataItem& GetItem(size_t nPos); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/lotuswordpro/inc/pch/precompiled_lwpft.hxx b/lotuswordpro/inc/pch/precompiled_lwpft.hxx index 0e141f5758ae..27caf0dbd15a 100644 --- a/lotuswordpro/inc/pch/precompiled_lwpft.hxx +++ b/lotuswordpro/inc/pch/precompiled_lwpft.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:27 using: + Generated on 2020-08-12 11:04:50 using: ./bin/update_pch lotuswordpro lwpft --cutoff=2 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -35,7 +35,6 @@ #include #include #include -#include #include #include #include @@ -72,7 +71,6 @@ #include #include #include -#include #include #include #include diff --git a/oox/inc/pch/precompiled_oox.hxx b/oox/inc/pch/precompiled_oox.hxx index 4be8496666ed..7e46449e4586 100644 --- a/oox/inc/pch/precompiled_oox.hxx +++ b/oox/inc/pch/precompiled_oox.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:27 using: + Generated on 2020-08-12 11:04:50 using: ./bin/update_pch oox oox --cutoff=6 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -191,7 +191,6 @@ #include #include #include -#include #include #include #include diff --git a/package/inc/pch/precompiled_package2.hxx b/package/inc/pch/precompiled_package2.hxx index 14b835c28a7e..936b61d908ca 100644 --- a/package/inc/pch/precompiled_package2.hxx +++ b/package/inc/pch/precompiled_package2.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:27 using: + Generated on 2020-08-12 11:04:51 using: ./bin/update_pch package package2 --cutoff=3 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -89,6 +90,7 @@ #include #include #include +#include #include #include #include @@ -97,9 +99,12 @@ #include #include #include +#include +#include #include #include #include +#include #include #include #include @@ -119,6 +124,7 @@ #include #include #include +#include #include #include #include @@ -153,6 +159,7 @@ #include #include #include +#include #include #include #include @@ -160,7 +167,6 @@ #include #include #include -#include #include #include #include diff --git a/package/inc/pch/precompiled_xstor.hxx b/package/inc/pch/precompiled_xstor.hxx index 1c6b3821718d..3359d0e7433a 100644 --- a/package/inc/pch/precompiled_xstor.hxx +++ b/package/inc/pch/precompiled_xstor.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2019-10-17 15:15:14 using: + Generated on 2020-08-12 11:04:51 using: ./bin/update_pch package xstor --cutoff=2 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -41,7 +41,6 @@ #include #include #include -#include #include #include #include @@ -51,7 +50,6 @@ #include #include #include -#include #include #include #include diff --git a/reportdesign/inc/pch/precompiled_rpt.hxx b/reportdesign/inc/pch/precompiled_rpt.hxx index 2041de5742a0..a5ae2eda1218 100644 --- a/reportdesign/inc/pch/precompiled_rpt.hxx +++ b/reportdesign/inc/pch/precompiled_rpt.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:28 using: + Generated on 2020-08-12 11:04:52 using: ./bin/update_pch reportdesign rpt --cutoff=9 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -61,7 +61,6 @@ #include #include #include -#include #include #include #include @@ -74,7 +73,6 @@ #include #include #include -#include #include #include #include @@ -170,7 +168,6 @@ #include #include #include -#include #include #include #include @@ -195,7 +192,6 @@ #include #include #include -#include #include #include #include @@ -233,7 +229,6 @@ #include #include #include -#include #include #include #include diff --git a/reportdesign/inc/pch/precompiled_rptui.hxx b/reportdesign/inc/pch/precompiled_rptui.hxx index 75a7fbda17a1..1c1028e442f1 100644 --- a/reportdesign/inc/pch/precompiled_rptui.hxx +++ b/reportdesign/inc/pch/precompiled_rptui.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:28 using: + Generated on 2020-08-12 11:04:53 using: ./bin/update_pch reportdesign rptui --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -56,7 +56,6 @@ #include #include #include -#include #include #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 @@ -74,15 +73,12 @@ #include #include #include -#include -#include #include #include #include #include #include #include -#include #include #include #include @@ -136,8 +132,6 @@ #include #include #include -#include -#include #include #include #include @@ -152,7 +146,6 @@ #include #include #include -#include #include #include #include @@ -258,7 +251,6 @@ #include #include #include -#include #include #include #include @@ -290,7 +282,6 @@ #include #include #include -#include #include #include #include @@ -407,7 +398,6 @@ #include #include #include -#include #include #include #include diff --git a/reportdesign/inc/pch/precompiled_rptxml.hxx b/reportdesign/inc/pch/precompiled_rptxml.hxx index 181bd1be2b32..d85541d990e7 100644 --- a/reportdesign/inc/pch/precompiled_rptxml.hxx +++ b/reportdesign/inc/pch/precompiled_rptxml.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:29 using: + Generated on 2020-08-12 11:04:54 using: ./bin/update_pch reportdesign rptxml --cutoff=2 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -22,7 +22,6 @@ #if PCH_LEVEL >= 1 #include -#include #include #include #include @@ -42,7 +41,6 @@ #include #include #include -#include #include #include #include @@ -62,7 +60,6 @@ #include #include #include -#include #include #include #include @@ -74,7 +71,6 @@ #include #include #include -#include #include #include #include @@ -83,8 +79,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/sc/inc/pch/precompiled_sc.hxx b/sc/inc/pch/precompiled_sc.hxx index 47a447ac242f..be1ab9f73c96 100644 --- a/sc/inc/pch/precompiled_sc.hxx +++ b/sc/inc/pch/precompiled_sc.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:41 using: + Generated on 2020-08-12 11:05:25 using: ./bin/update_pch sc sc --cutoff=12 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -258,7 +258,6 @@ #include #include #include -#include #include #include #include @@ -302,7 +301,6 @@ #include #include #include -#include #include #include #include @@ -432,7 +430,6 @@ #include #include #include -#include #include #include #include diff --git a/sc/inc/pch/precompiled_scfilt.hxx b/sc/inc/pch/precompiled_scfilt.hxx index a9cd707cfe22..e7a218681f23 100644 --- a/sc/inc/pch/precompiled_scfilt.hxx +++ b/sc/inc/pch/precompiled_scfilt.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:45 using: + Generated on 2020-08-12 11:05:33 using: ./bin/update_pch sc scfilt --cutoff=4 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -158,7 +158,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/sc/inc/pch/precompiled_vbaobj.hxx b/sc/inc/pch/precompiled_vbaobj.hxx index ae93f9bf6540..15e228953ac7 100644 --- a/sc/inc/pch/precompiled_vbaobj.hxx +++ b/sc/inc/pch/precompiled_vbaobj.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-02-01 10:58:11 using: + Generated on 2020-08-12 11:05:37 using: ./bin/update_pch sc vbaobj --cutoff=1 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -204,7 +204,6 @@ #include #include #include -#include #include #include #include diff --git a/sd/inc/pch/precompiled_sd.hxx b/sd/inc/pch/precompiled_sd.hxx index fafee136cbbe..caa5c44cf1bd 100644 --- a/sd/inc/pch/precompiled_sd.hxx +++ b/sd/inc/pch/precompiled_sd.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:48 using: + Generated on 2020-08-12 11:05:42 using: ./bin/update_pch sd sd --cutoff=4 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -191,7 +191,6 @@ #include #include #include -#include #include #include #include @@ -216,12 +215,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -252,7 +253,6 @@ #include #include #include -#include #include #include #include @@ -451,6 +451,7 @@ #include #include #include +#include #include #include #include diff --git a/sd/inc/pch/precompiled_sdui.hxx b/sd/inc/pch/precompiled_sdui.hxx index e5feed35fbbb..d1360aea915d 100644 --- a/sd/inc/pch/precompiled_sdui.hxx +++ b/sd/inc/pch/precompiled_sdui.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:50 using: + Generated on 2020-08-12 11:05:46 using: ./bin/update_pch sd sdui --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -118,6 +118,7 @@ #include #include #include +#include #include #include #include @@ -179,6 +180,7 @@ #include #include #include +#include #include #include #include @@ -277,7 +279,6 @@ #include #include #include -#include #include #include #include @@ -306,7 +307,6 @@ #include #include #include -#include #include #include #include @@ -418,7 +418,6 @@ #include #include #include -#include #include #include #include diff --git a/sdext/inc/pch/precompiled_PresentationMinimizer.hxx b/sdext/inc/pch/precompiled_PresentationMinimizer.hxx index 832bb7a60d9a..6f2a3aa81a79 100644 --- a/sdext/inc/pch/precompiled_PresentationMinimizer.hxx +++ b/sdext/inc/pch/precompiled_PresentationMinimizer.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:50 using: + Generated on 2020-08-12 11:05:47 using: ./bin/update_pch sdext PresentationMinimizer --cutoff=2 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -65,7 +65,6 @@ #include #include #include -#include #include #include #include @@ -119,7 +118,6 @@ #include #include #include -#include #include #include #include @@ -130,7 +128,6 @@ #include #include #include -#include #include #include #include @@ -140,7 +137,6 @@ #include #include #include -#include #include #include #include @@ -154,8 +150,6 @@ #include #include #include -#include -#include #include #include #include diff --git a/sdext/inc/pch/precompiled_PresenterScreen.hxx b/sdext/inc/pch/precompiled_PresenterScreen.hxx index 7a7a35c9f0cb..662b046d3660 100644 --- a/sdext/inc/pch/precompiled_PresenterScreen.hxx +++ b/sdext/inc/pch/precompiled_PresenterScreen.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-02-01 10:58:12 using: + Generated on 2020-08-12 11:05:47 using: ./bin/update_pch sdext PresenterScreen --cutoff=2 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -50,7 +50,6 @@ #include #include #include -#include #include #include #include @@ -67,7 +66,6 @@ #include #include #include -#include #include #include #include @@ -115,7 +113,6 @@ #include #include #include -#include #include #include #include @@ -133,10 +130,10 @@ #include #include #include -#include #include #include #include +#include #include #include #include @@ -146,7 +143,6 @@ #include #include #include -#include #include #include #include diff --git a/sfx2/inc/pch/precompiled_sfx.hxx b/sfx2/inc/pch/precompiled_sfx.hxx index 58fe30240dd5..c1bf5e00e2c4 100644 --- a/sfx2/inc/pch/precompiled_sfx.hxx +++ b/sfx2/inc/pch/precompiled_sfx.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-06-26 20:19:27 using: + Generated on 2020-08-12 11:05:48 using: ./bin/update_pch sfx2 sfx --cutoff=3 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -125,6 +125,7 @@ #include #include #include +#include #include #include #endif // PCH_LEVEL >= 2 @@ -290,8 +291,6 @@ #include #include #include -#include -#include #include #include #include @@ -300,7 +299,6 @@ #include #include #include -#include #include #include #include diff --git a/slideshow/inc/pch/precompiled_slideshow.hxx b/slideshow/inc/pch/precompiled_slideshow.hxx index 192fc618102c..51b09259e26b 100644 --- a/slideshow/inc/pch/precompiled_slideshow.hxx +++ b/slideshow/inc/pch/precompiled_slideshow.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:51 using: + Generated on 2020-08-12 11:05:49 using: ./bin/update_pch slideshow slideshow --cutoff=4 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -154,7 +154,6 @@ #include #include #include -#include #include #include #include @@ -230,7 +229,6 @@ #include #include #include -#include #include #include #include diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist index e8fb15c70220..3ae46bd3213a 100644 --- a/solenv/clang-format/excludelist +++ b/solenv/clang-format/excludelist @@ -7447,11 +7447,12 @@ include/vcl/toolkit/svlbitm.hxx include/vcl/toolkit/svtabbx.hxx include/vcl/toolkit/tabdlg.hxx include/vcl/toolkit/throbber.hxx +include/vcl/toolkit/treelist.hxx +include/vcl/toolkit/treelistbox.hxx +include/vcl/toolkit/treelistentry.hxx include/vcl/toolkit/unowrap.hxx +include/vcl/toolkit/viewdataentry.hxx include/vcl/transfer.hxx -include/vcl/treelist.hxx -include/vcl/treelistbox.hxx -include/vcl/treelistentry.hxx include/vcl/txtattr.hxx include/vcl/uitest/factory.hxx include/vcl/uitest/uiobject.hxx @@ -7466,7 +7467,6 @@ include/vcl/vclmedit.hxx include/vcl/vclptr.hxx include/vcl/vclreferencebase.hxx include/vcl/vectorgraphicdata.hxx -include/vcl/viewdataentry.hxx include/vcl/virdev.hxx include/vcl/waitobj.hxx include/vcl/wall.hxx diff --git a/starmath/inc/pch/precompiled_sm.hxx b/starmath/inc/pch/precompiled_sm.hxx index 1e83acec8ab0..5998ec45322c 100644 --- a/starmath/inc/pch/precompiled_sm.hxx +++ b/starmath/inc/pch/precompiled_sm.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:51 using: + Generated on 2020-08-12 11:05:50 using: ./bin/update_pch starmath sm --cutoff=5 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -37,7 +37,6 @@ #include #include #include -#include #include #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 @@ -124,7 +123,6 @@ #include #include #include -#include #include #include #include diff --git a/svl/inc/pch/precompiled_svl.hxx b/svl/inc/pch/precompiled_svl.hxx index 4fc2cb3bcc9e..248a68569e88 100644 --- a/svl/inc/pch/precompiled_svl.hxx +++ b/svl/inc/pch/precompiled_svl.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:06:52 using: + Generated on 2020-08-12 11:15:25 using: ./bin/update_pch svl svl --cutoff=6 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include @@ -63,6 +62,7 @@ #include #include #include +#include #include #include #include diff --git a/svtools/inc/pch/precompiled_svt.hxx b/svtools/inc/pch/precompiled_svt.hxx index 381c6c6271bf..31835a86a98e 100644 --- a/svtools/inc/pch/precompiled_svt.hxx +++ b/svtools/inc/pch/precompiled_svt.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-29 16:22:56 using: + Generated on 2020-08-12 11:05:52 using: ./bin/update_pch svtools svt --cutoff=4 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -337,7 +337,6 @@ #include #include #include -#include #include #include #include diff --git a/svx/inc/pch/precompiled_svx.hxx b/svx/inc/pch/precompiled_svx.hxx index e1f9ecaf7053..83f7ff3316e5 100644 --- a/svx/inc/pch/precompiled_svx.hxx +++ b/svx/inc/pch/precompiled_svx.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-25 14:55:56 using: + Generated on 2020-08-12 11:05:53 using: ./bin/update_pch svx svx --cutoff=3 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -243,7 +243,7 @@ #include #include #include -#include +#include #include #include #include @@ -337,7 +337,6 @@ #include #include #include -#include #include #include #include diff --git a/svx/inc/pch/precompiled_svxcore.hxx b/svx/inc/pch/precompiled_svxcore.hxx index 2684415e5cd1..cb8cdc67d053 100644 --- a/svx/inc/pch/precompiled_svxcore.hxx +++ b/svx/inc/pch/precompiled_svxcore.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-31 16:53:36 using: + Generated on 2020-08-12 11:15:33 using: ./bin/update_pch svx svxcore --cutoff=7 --exclude:system --include:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -74,7 +75,6 @@ #include #include #include -#include #include #include #include @@ -93,6 +93,7 @@ #include #include #include +#include #include #include #include @@ -376,7 +377,6 @@ #include #include #include -#include #include #include #include @@ -401,6 +401,7 @@ #include #include #include +#include #include #include #include diff --git a/sw/inc/pch/precompiled_msword.hxx b/sw/inc/pch/precompiled_msword.hxx index e85a96a324cf..cd416bb010b2 100644 --- a/sw/inc/pch/precompiled_msword.hxx +++ b/sw/inc/pch/precompiled_msword.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:02 using: + Generated on 2020-08-12 11:06:17 using: ./bin/update_pch sw msword --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -232,7 +232,6 @@ #include #include #include -#include #include #include #include @@ -265,7 +264,6 @@ #include #include #include -#include #include #include #include @@ -278,22 +276,17 @@ #include #include #include -#include -#include #include #include #include #include #include -#include #include -#include #include #include #include #include #include -#include #include #include #include diff --git a/sw/inc/pch/precompiled_sw.hxx b/sw/inc/pch/precompiled_sw.hxx index ce0eed087dec..dbe04e9bc273 100644 --- a/sw/inc/pch/precompiled_sw.hxx +++ b/sw/inc/pch/precompiled_sw.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:10 using: + Generated on 2020-08-12 11:06:39 using: ./bin/update_pch sw sw --cutoff=7 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -71,11 +71,11 @@ #include #include #include +#include #include #include #include #include -#include #include #include #include @@ -96,7 +96,6 @@ #include #include #include -#include #include #include #include @@ -113,7 +112,6 @@ #include #include #include -#include #include #include #include @@ -221,7 +219,6 @@ #include #include #include -#include #include #include #include @@ -269,6 +266,7 @@ #include #include #include +#include #include #include #include @@ -284,6 +282,7 @@ #include #include #include +#include #include #include #include @@ -351,7 +350,6 @@ #include #include #include -#include #include #include #include @@ -441,6 +439,7 @@ #include #include #include +#include #include #include #include diff --git a/sw/inc/pch/precompiled_swui.hxx b/sw/inc/pch/precompiled_swui.hxx index be4dd7b9c1a4..c1f1c4450fab 100644 --- a/sw/inc/pch/precompiled_swui.hxx +++ b/sw/inc/pch/precompiled_swui.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:17 using: + Generated on 2020-08-12 11:06:57 using: ./bin/update_pch sw swui --cutoff=3 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -112,7 +112,6 @@ #include #include #include -#include #include #include #include @@ -332,7 +331,6 @@ #include #include #include -#include #include #include #include @@ -452,7 +450,6 @@ #include #include #include -#include #include #include #include diff --git a/sw/inc/pch/precompiled_vbaswobj.hxx b/sw/inc/pch/precompiled_vbaswobj.hxx index c77d5a99938d..8123e74b8087 100644 --- a/sw/inc/pch/precompiled_vbaswobj.hxx +++ b/sw/inc/pch/precompiled_vbaswobj.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:20 using: + Generated on 2020-08-12 11:07:07 using: ./bin/update_pch sw vbaswobj --cutoff=4 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -264,9 +264,9 @@ #include #include #include +#include #include #include -#include #include #include #include diff --git a/toolkit/source/controls/tree/treecontrolpeer.cxx b/toolkit/source/controls/tree/treecontrolpeer.cxx index 00423e7a2a2f..bc5ceaad6d46 100644 --- a/toolkit/source/controls/tree/treecontrolpeer.cxx +++ b/toolkit/source/controls/tree/treecontrolpeer.cxx @@ -35,9 +35,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include diff --git a/unotools/inc/pch/precompiled_utl.hxx b/unotools/inc/pch/precompiled_utl.hxx index 9d68b52e29f0..f88d583a0f20 100644 --- a/unotools/inc/pch/precompiled_utl.hxx +++ b/unotools/inc/pch/precompiled_utl.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:21 using: + Generated on 2020-08-12 11:07:07 using: ./bin/update_pch unotools utl --cutoff=3 --exclude:system --exclude:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -25,10 +25,12 @@ #include #include #include +#include #include #include #include #include +#include #include #endif // PCH_LEVEL >= 1 #if PCH_LEVEL >= 2 @@ -99,13 +101,13 @@ #include #include #include +#include #include #include #include #include #include #include -#include #include #include #include diff --git a/uui/inc/pch/precompiled_uui.hxx b/uui/inc/pch/precompiled_uui.hxx index 34e174be6624..61655a7cf0e1 100644 --- a/uui/inc/pch/precompiled_uui.hxx +++ b/uui/inc/pch/precompiled_uui.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:21 using: + Generated on 2020-08-12 11:16:21 using: ./bin/update_pch uui uui --cutoff=4 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -39,7 +39,6 @@ #include #include #include -#include #include #include #include diff --git a/vbahelper/inc/pch/precompiled_msforms.hxx b/vbahelper/inc/pch/precompiled_msforms.hxx index b78a88d5e719..12f32f04fb22 100644 --- a/vbahelper/inc/pch/precompiled_msforms.hxx +++ b/vbahelper/inc/pch/precompiled_msforms.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:21 using: + Generated on 2020-08-12 11:07:08 using: ./bin/update_pch vbahelper msforms --cutoff=3 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -116,7 +116,6 @@ #include #include #include -#include #include #include #include @@ -127,11 +126,9 @@ #include #include #include -#include #include #include #include -#include #include #include #include @@ -145,7 +142,6 @@ #include #include #include -#include #include #include #include diff --git a/vcl/inc/iconview.hxx b/vcl/inc/iconview.hxx index 09d1a0b02fe7..f9b623688621 100644 --- a/vcl/inc/iconview.hxx +++ b/vcl/inc/iconview.hxx @@ -20,7 +20,7 @@ #ifndef INCLUDED_SVTOOLS_ICONVIEW_HXX #define INCLUDED_SVTOOLS_ICONVIEW_HXX -#include +#include class IconView final : public SvTreeListBox { diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx index 966e842b43bc..b6fa73b6d062 100644 --- a/vcl/inc/pch/precompiled_vcl.hxx +++ b/vcl/inc/pch/precompiled_vcl.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-08-10 21:11:12 using: + Generated on 2020-08-12 11:16:23 using: ./bin/update_pch vcl vcl --cutoff=6 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -321,11 +321,12 @@ #include #include #include +#include +#include +#include #include +#include #include -#include -#include -#include #include #include #include @@ -333,7 +334,6 @@ #include #include #include -#include #include #include #include diff --git a/vcl/inc/svimpbox.hxx b/vcl/inc/svimpbox.hxx index cb52069ca41b..02f8de6d8c72 100644 --- a/vcl/inc/svimpbox.hxx +++ b/vcl/inc/svimpbox.hxx @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 0c5d40fa45fa..2a138f1575a1 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -61,13 +61,13 @@ #include #include #include -#include +#include #include #include #include #include #include -#include +#include #include #include #include diff --git a/vcl/source/treelist/iconview.cxx b/vcl/source/treelist/iconview.cxx index 162096bff04c..9e0ab737b2c3 100644 --- a/vcl/source/treelist/iconview.cxx +++ b/vcl/source/treelist/iconview.cxx @@ -17,8 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include -#include +#include +#include #include #include "iconviewimpl.hxx" diff --git a/vcl/source/treelist/svimpbox.cxx b/vcl/source/treelist/svimpbox.cxx index ac8f4cfeb621..e8bd4da9ca0c 100644 --- a/vcl/source/treelist/svimpbox.cxx +++ b/vcl/source/treelist/svimpbox.cxx @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include #include @@ -40,8 +40,8 @@ #include #include -#include -#include +#include +#include // #i27063# (pl), #i32300# (pb) never access VCL after DeInitVCL - also no destructors Image* SvImpLBox::s_pDefCollapsed = nullptr; diff --git a/vcl/source/treelist/svlbitm.cxx b/vcl/source/treelist/svlbitm.cxx index 8b072424d072..87a32e9612a9 100644 --- a/vcl/source/treelist/svlbitm.cxx +++ b/vcl/source/treelist/svlbitm.cxx @@ -17,10 +17,10 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include +#include #include -#include -#include +#include +#include #include #include #include diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index 9e712c70c827..2504cf2e1fd6 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/vcl/source/treelist/treelist.cxx b/vcl/source/treelist/treelist.cxx index c9d6c264eaaf..537cf2a5429c 100644 --- a/vcl/source/treelist/treelist.cxx +++ b/vcl/source/treelist/treelist.cxx @@ -17,9 +17,9 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include -#include -#include +#include +#include +#include #include #include diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index c2a15925f125..74be3d890402 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -23,7 +23,7 @@ - SelectAll( false ) => only repaint the deselected entries */ -#include +#include #include #include #include @@ -41,8 +41,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/vcl/source/treelist/treelistentry.cxx b/vcl/source/treelist/treelistentry.cxx index 5ffd4428b758..46f95aad2f15 100644 --- a/vcl/source/treelist/treelistentry.cxx +++ b/vcl/source/treelist/treelistentry.cxx @@ -18,7 +18,7 @@ */ #include -#include +#include #include #include #include diff --git a/vcl/source/treelist/uiobject.cxx b/vcl/source/treelist/uiobject.cxx index 9256321688dd..1c9146c51101 100644 --- a/vcl/source/treelist/uiobject.cxx +++ b/vcl/source/treelist/uiobject.cxx @@ -10,8 +10,8 @@ #include #include #include -#include -#include +#include +#include TreeListUIObject::TreeListUIObject(const VclPtr& xTreeList): WindowUIObject(xTreeList), diff --git a/vcl/source/treelist/viewdataentry.cxx b/vcl/source/treelist/viewdataentry.cxx index f5fbf8e0bdfb..b14d479310af 100644 --- a/vcl/source/treelist/viewdataentry.cxx +++ b/vcl/source/treelist/viewdataentry.cxx @@ -17,7 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include +#include SvViewDataEntry::SvViewDataEntry() : nVisPos(0), diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 2d27f27e9f1a..b7e77efb7c17 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/writerfilter/inc/pch/precompiled_writerfilter.hxx b/writerfilter/inc/pch/precompiled_writerfilter.hxx index 0e5fe2b19941..748bf481264e 100644 --- a/writerfilter/inc/pch/precompiled_writerfilter.hxx +++ b/writerfilter/inc/pch/precompiled_writerfilter.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:23 using: + Generated on 2020-08-12 11:16:23 using: ./bin/update_pch writerfilter writerfilter --cutoff=5 --exclude:system --exclude:module --exclude:local If after updating build fails, use the following command to locate conflicting headers: @@ -44,10 +44,7 @@ #include #include #include -#include #include -#include -#include #include #include #include @@ -84,6 +81,7 @@ #include #include #include +#include #include #include #include diff --git a/xmloff/inc/pch/precompiled_xo.hxx b/xmloff/inc/pch/precompiled_xo.hxx index 3ea9b4cdedd7..5b9ab966634a 100644 --- a/xmloff/inc/pch/precompiled_xo.hxx +++ b/xmloff/inc/pch/precompiled_xo.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:24 using: + Generated on 2020-08-12 11:07:14 using: ./bin/update_pch xmloff xo --cutoff=7 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -57,6 +57,7 @@ #include #include #include +#include #include #include #include @@ -179,7 +180,6 @@ #include #include #include -#include #include #include #include diff --git a/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx b/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx index bd4228ede2e3..a64c79903a2c 100644 --- a/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx +++ b/xmlsecurity/inc/pch/precompiled_xmlsecurity.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:25 using: + Generated on 2020-08-12 11:07:16 using: ./bin/update_pch xmlsecurity xmlsecurity --cutoff=6 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -138,7 +138,6 @@ #include #include #include -#include #include #include #include @@ -159,7 +158,6 @@ #include #include #include -#include #include #include #include @@ -168,7 +166,6 @@ #include #include #include -#include #include #include #include diff --git a/xmlsecurity/inc/pch/precompiled_xsec_xmlsec.hxx b/xmlsecurity/inc/pch/precompiled_xsec_xmlsec.hxx index f6f7e3b7cd2b..671a7053a6c7 100644 --- a/xmlsecurity/inc/pch/precompiled_xsec_xmlsec.hxx +++ b/xmlsecurity/inc/pch/precompiled_xsec_xmlsec.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-07-09 17:07:25 using: + Generated on 2020-08-12 11:16:25 using: ./bin/update_pch xmlsecurity xsec_xmlsec --cutoff=2 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: -- cgit