Files
odfstudio/bin
Michael Weghorn 0c5f7b5d9b ui-rules-enforcer: Check special treeview expander column order
As the weld::TreeView doc says, two special expander columns
for toggle buttons and images can be used that can be accessed
by index -1 in the weld::TreeView API:

    /* Model column indexes are considered to begin at 0, but with special columns
       before index 0. A expander image column (and an additional optional toggle
       button column when enable_toggle_buttons is used). Column index -1 is
       reserved to access those columns.
    */
    class VCL_DLLPUBLIC TreeView : virtual public ItemView

While the vcl implementation in SalInstanceTreeView doesn't
currently take into account the .ui file at all, the gtk3
vcl implementation (GtkInstanceTreeView) does (and the
native Qt implementation in QtInstanceTreeView also does).

The vcl implementation always shows the toggle button/column
before the image/pixbuf one.

(See e.g. how SvTreeListBox::SetTabs calls

    AddTab( nStartPos, TABFLAGS_CHECKBTN );

before

    AddTab(nStartPos, TABFLAGS_CONTEXTBMP);

and how SalInstanceTreeView::do_insert also first
inserts an item if the SvTreeFlags::CHKBTN flag
is set before inserting a SvLBoxContextBmp for the
special bitmap/expander column.)

For consistency with the vcl implementation,
make sure the toggle renderer also comes first
in .ui files, which means it will be rendered
first when using gtk3 as well.
Ensure that by adding a rule to ui-rules-enforcer.

The two issues that the new rule detected were
already addressed in previous commits

    Change-Id: I3a959d71cd91d5bfc20ba8abe50a3c7b1c189df3
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Jun 18 17:58:49 2026 +0200

        tdf#130857 dbaccess: Have special toggle before pixbuf col in dbtreelist.ui

and

    Change-Id: Ie1bd0a96a79a9818f3aa573edb29e76363dbfe44
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Jun 18 18:24:34 2026 +0200

        tdf#130857 dbaccess: Show checkbox in front of icon in "Tables Filter" dlg

, so running

    $ for a in `git ls-files "*.ui"`; do bin/ui-rules-enforcer.py $a; done

doesn't detect any additional issues right now, but can be used
to avoid/detect new issues in the future.

Change-Id: I1f7c8c6456ed2e8ba4d8018d69fb12b40204536a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206986
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-20 22:24:10 +02:00
..
2024-05-15 00:01:31 +02:00
…
…
2025-09-27 21:38:46 +02:00
2025-04-14 18:16:02 +02:00
…
…
…
2024-01-25 19:16:35 +01:00

Tools and Non-Build Scripts

Tools and scripts mostly not used during the build

This direction has a number of key pieces (?) that are used during the build, or are simply generally useful. One example is bin/run.

This utility can be used to run the executables in this folder:

workdir/LinkTarget/Executable

Format of the usage is:

./bin/run application [parameters]|--list|--help

Use --list (same as -list or -l) to get the list of executables Use --help (same as -help or -h) to get this help

Another example is:

bin/find-german-comments <directory>

which will try to detect and extract all the German comments in a given source code hierarchy / directory.

Please note that the associated issue tdf#39468 is now marked as RESOLVED/FIXED, so don't expect many German comments.