Files
odfstudio/cui/uiconfig/ui/calloutpage.ui
T
Michael Weghorn 373ff268bb cui: Port Callout tab page from ValueSet to weld::IconView
Port the widget to select the connector type using a ValueSet
widget to using weld::IconView.

This helps to be more consistent with other platform/toolkit
widgets and reduces custom widget logic.

Adjust indices used to account for the fact that
weld::IconView indices are 0-based while the ValueSet ones
are 1-based.

Increase the item padding in the .ui file to 18 to
use more space for the individual items, to be more
similar to the previous ValueSet implementation.

The tab page can be triggered like this:

* start Draw
* make sure the "Text" toolbar is enabled in
  "View" -> "Toolbars" -> "Text"
* in that "Text" toolbar, select the "Callouts" shape
  and insert it into the document
* right-click on the newly inserted shape to open the context menu
* activate the "Position and Size" menu entry
* switch to the "Callout" tab

Change-Id: I1c23a305322105608d0152bcd0b0fa195be14eff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211882
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-07 17:49:09 +02:00

362 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="cui">
<requires lib="gtk+" version="3.24"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">2400</property>
<property name="step-increment">0.5</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment2">
<property name="upper">2400</property>
<property name="step-increment">0.5</property>
<property name="page-increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustment3">
<property name="upper">2400</property>
<property name="step-increment">0.5</property>
<property name="page-increment">10</property>
</object>
<object class="GtkTreeStore" id="iconview_model">
<columns>
<!-- column-name pixbuf -->
<column type="GdkPixbuf"/>
<!-- column-name id -->
<column type="gchararray"/>
<!-- column-name tooltip -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkBox" id="CalloutPage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkIconView" id="iconview">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin">6</property>
<property name="model">iconview_model</property>
<property name="columns">3</property>
<property name="row-spacing">0</property>
<property name="column-spacing">0</property>
<property name="pixbuf-column">0</property>
<property name="tooltip-column">2</property>
<property name="item-padding">18</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=3 -->
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">6</property>
<property name="column-spacing">18</property>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid" id="grid8">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="calloutpage|label2">_Extension:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">extension</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="extension">
<property name="visible">True</property>
<property name="can-focus">False</property>
<items>
<item id="4" translatable="yes" context="calloutpage|liststore1">Optimal</item>
<item id="3" translatable="yes" context="calloutpage|liststore1">From top</item>
<item id="3" translatable="yes" context="calloutpage|liststore1">From left</item>
<item id="1" translatable="yes" context="calloutpage|liststore1">Horizontal</item>
<item id="2" translatable="yes" context="calloutpage|liststore1">Vertical</item>
</items>
<child internal-child="accessible">
<object class="AtkObject" id="extension-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|extension">Select where you want to extend the callout line from, in relation to the callout box.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid" id="grid9">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkSpinButton" id="length">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="text">0.00</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustment1</property>
<property name="digits">2</property>
<child internal-child="accessible">
<object class="AtkObject" id="length-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|length">Enter the length of the callout line segment that extends from the callout box to the inflection point of the line.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="lengthft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="calloutpage|lengthft">_Length:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">length</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="optimal">
<property name="label" translatable="yes" context="calloutpage|optimal">_Optimal</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="optimal-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|optimal">Click here to display a single-angled line in an optimal way.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=2 -->
<object class="GtkGrid" id="grid10">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="positionft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="calloutpage|positionft">_Position:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">position</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="byft">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="calloutpage|byft">_By:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">by</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="position">
<property name="visible">True</property>
<property name="can-focus">False</property>
<items>
<item translatable="yes" context="calloutpage|position">Top</item>
<item translatable="yes" context="calloutpage|position">Middle</item>
<item translatable="yes" context="calloutpage|position">Bottom</item>
<item translatable="yes" context="calloutpage|position">Left</item>
<item translatable="yes" context="calloutpage|position">Center</item>
<item translatable="yes" context="calloutpage|position">Right</item>
</items>
<child internal-child="accessible">
<object class="AtkObject" id="position-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|position">Select where you want to extend the callout line from, in relation to the callout box.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="by">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="text">0.00</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustment2</property>
<property name="digits">2</property>
<child internal-child="accessible">
<object class="AtkObject" id="by-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|by">Select where you want to extend the callout line from, in relation to the callout box.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid" id="grid7">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" context="calloutpage|label1">_Spacing:</property>
<property name="use-underline">True</property>
<property name="mnemonic-widget">spacing</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spacing">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="text">0.00</property>
<property name="truncate-multiline">True</property>
<property name="adjustment">adjustment3</property>
<property name="digits">2</property>
<child internal-child="accessible">
<object class="AtkObject" id="spacing-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|spacing">Enter the amount of space that you want to leave between the end of the callout line, and the callout box.</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="linetypes">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<items>
<item translatable="yes" context="calloutpage|linetypes">Straight Line</item>
<item translatable="yes" context="calloutpage|linetypes">Angled Line</item>
<item translatable="yes" context="calloutpage|linetypes">Angled Connector Line</item>
</items>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="accessible">
<object class="AtkObject" id="CalloutPage-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="calloutpage|extended_tip|CalloutPage">Click the Callout style that you want to apply to the selected callout.</property>
</object>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="label2"/>
<widget name="lengthft"/>
<widget name="label1"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup2">
<widgets>
<widget name="positionft"/>
<widget name="byft"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup3">
<property name="mode">both</property>
<widgets>
<widget name="position"/>
<widget name="by"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup4">
<property name="mode">both</property>
<widgets>
<widget name="extension"/>
<widget name="length"/>
<widget name="spacing"/>
</widgets>
</object>
</interface>