summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/dialogs/SparklineDialog.cxx174
-rw-r--r--sc/source/ui/inc/SparklineDialog.hxx18
-rw-r--r--sc/uiconfig/scalc/ui/sparklinedialog.ui1089
3 files changed, 926 insertions, 355 deletions
diff --git a/sc/source/ui/dialogs/SparklineDialog.cxx b/sc/source/ui/dialogs/SparklineDialog.cxx
index ba01a64912c6..59068077b969 100644
--- a/sc/source/ui/dialogs/SparklineDialog.cxx
+++ b/sc/source/ui/dialogs/SparklineDialog.cxx
@@ -16,6 +16,7 @@
#include <docfunc.hxx>
#include <svx/colorbox.hxx>
+#include <vcl/formatter.hxx>
namespace sc
{
@@ -56,9 +57,20 @@ SparklineDialog::SparklineDialog(SfxBindings* pBindings, SfxChildWindow* pChildW
, mxCheckButtonLow(m_xBuilder->weld_check_button("check-low"))
, mxCheckButtonFirst(m_xBuilder->weld_check_button("check-first"))
, mxCheckButtonLast(m_xBuilder->weld_check_button("check-last"))
+ , mxSpinLineWidth(m_xBuilder->weld_spin_button("spin-line-width"))
, mxRadioLine(m_xBuilder->weld_radio_button("line-radiobutton"))
, mxRadioColumn(m_xBuilder->weld_radio_button("column-radiobutton"))
, mxRadioStacked(m_xBuilder->weld_radio_button("stacked-radiobutton"))
+ , mxCheckDisplayXAxis(m_xBuilder->weld_check_button("check-display-x-axis"))
+ , mxCheckDisplayHidden(m_xBuilder->weld_check_button("check-display-hidden"))
+ , mxCheckRightToLeft(m_xBuilder->weld_check_button("check-right-to-left"))
+ , mxRadioDisplayEmptyGap(m_xBuilder->weld_radio_button("display-empty-radiobutton-gap"))
+ , mxRadioDisplayEmptyZero(m_xBuilder->weld_radio_button("display-empty-radiobutton-zero"))
+ , mxRadioDisplayEmptySpan(m_xBuilder->weld_radio_button("display-empty-radiobutton-span"))
+ , mxComboMinAxisType(m_xBuilder->weld_combo_box("combo-min-axis-type"))
+ , mxComboMaxAxisType(m_xBuilder->weld_combo_box("combo-max-axis-type"))
+ , mxSpinCustomMin(m_xBuilder->weld_formatted_spin_button("spin-custom-min"))
+ , mxSpinCustomMax(m_xBuilder->weld_formatted_spin_button("spin-custom-max"))
, mbEditMode(false)
{
mxInputRangeEdit->SetReferences(this, mxInputRangeLabel.get());
@@ -94,6 +106,9 @@ SparklineDialog::SparklineDialog(SfxBindings* pBindings, SfxChildWindow* pChildW
mxRadioLine->connect_toggled(aRadioButtonLink);
mxRadioColumn->connect_toggled(aRadioButtonLink);
mxRadioStacked->connect_toggled(aRadioButtonLink);
+ mxRadioDisplayEmptyGap->connect_toggled(aRadioButtonLink);
+ mxRadioDisplayEmptyZero->connect_toggled(aRadioButtonLink);
+ mxRadioDisplayEmptySpan->connect_toggled(aRadioButtonLink);
Link<weld::Toggleable&, void> aLink = LINK(this, SparklineDialog, ToggleHandler);
mxCheckButtonNegative->connect_toggled(aLink);
@@ -102,6 +117,26 @@ SparklineDialog::SparklineDialog(SfxBindings* pBindings, SfxChildWindow* pChildW
mxCheckButtonLow->connect_toggled(aLink);
mxCheckButtonFirst->connect_toggled(aLink);
mxCheckButtonLast->connect_toggled(aLink);
+ mxCheckDisplayXAxis->connect_toggled(aLink);
+ mxCheckDisplayHidden->connect_toggled(aLink);
+ mxCheckRightToLeft->connect_toggled(aLink);
+
+ mxSpinLineWidth->connect_value_changed(LINK(this, SparklineDialog, SpinLineWidthChanged));
+
+ mxComboMinAxisType->connect_changed(LINK(this, SparklineDialog, ComboValueChanged));
+ mxComboMaxAxisType->connect_changed(LINK(this, SparklineDialog, ComboValueChanged));
+
+ mxSpinCustomMin->connect_value_changed(LINK(this, SparklineDialog, SpinCustomChanged));
+ Formatter& rSpinCustomMinFormatter = mxSpinCustomMin->GetFormatter();
+ rSpinCustomMinFormatter.ClearMinValue();
+ rSpinCustomMinFormatter.ClearMaxValue();
+ rSpinCustomMinFormatter.UseInputStringForFormatting();
+
+ mxSpinCustomMax->connect_value_changed(LINK(this, SparklineDialog, SpinCustomChanged));
+ Formatter& rSpinCustomMaxFormatter = mxSpinCustomMax->GetFormatter();
+ rSpinCustomMaxFormatter.ClearMinValue();
+ rSpinCustomMaxFormatter.ClearMaxValue();
+ rSpinCustomMaxFormatter.UseInputStringForFormatting();
setupValues();
@@ -145,7 +180,7 @@ void SparklineDialog::setupValues()
setInputSelection();
- auto& rAttribute = mpLocalSparklineGroup->getAttributes();
+ auto const& rAttribute = mpLocalSparklineGroup->getAttributes();
switch (rAttribute.getType())
{
@@ -160,6 +195,19 @@ void SparklineDialog::setupValues()
break;
}
+ switch (rAttribute.getDisplayEmptyCellsAs())
+ {
+ case sc::DisplayEmptyCellsAs::Gap:
+ mxRadioDisplayEmptyGap->set_active(true);
+ break;
+ case sc::DisplayEmptyCellsAs::Zero:
+ mxRadioDisplayEmptyZero->set_active(true);
+ break;
+ case sc::DisplayEmptyCellsAs::Span:
+ mxRadioDisplayEmptySpan->set_active(true);
+ break;
+ }
+
mxColorSeries->SelectEntry(rAttribute.getColorSeries());
mxColorNegative->SelectEntry(rAttribute.getColorNegative());
mxColorMarker->SelectEntry(rAttribute.getColorMarkers());
@@ -174,6 +222,48 @@ void SparklineDialog::setupValues()
mxCheckButtonLow->set_active(rAttribute.isLow());
mxCheckButtonFirst->set_active(rAttribute.isFirst());
mxCheckButtonLast->set_active(rAttribute.isLast());
+
+ mxSpinLineWidth->set_value(sal_Int64(rAttribute.getLineWeight() * 100.0));
+
+ mxCheckDisplayXAxis->set_active(rAttribute.shouldDisplayXAxis());
+ mxCheckDisplayHidden->set_active(rAttribute.shouldDisplayHidden());
+ mxCheckRightToLeft->set_active(rAttribute.isRightToLeft());
+
+ switch (rAttribute.getMinAxisType())
+ {
+ case sc::AxisType::Individual:
+ mxComboMinAxisType->set_active(0);
+ mxSpinCustomMin->GetFormatter().SetValue(0.0);
+ break;
+ case sc::AxisType::Group:
+ mxComboMinAxisType->set_active(1);
+ mxSpinCustomMin->GetFormatter().SetValue(0.0);
+ break;
+ case sc::AxisType::Custom:
+ mxComboMinAxisType->set_active(2);
+ if (rAttribute.getManualMin())
+ mxSpinCustomMin->GetFormatter().SetValue(*rAttribute.getManualMin());
+ break;
+ }
+ ComboValueChanged(*mxComboMinAxisType);
+
+ switch (rAttribute.getMaxAxisType())
+ {
+ case sc::AxisType::Individual:
+ mxComboMaxAxisType->set_active(0);
+ mxSpinCustomMax->GetFormatter().SetValue(0.0);
+ break;
+ case sc::AxisType::Group:
+ mxComboMaxAxisType->set_active(1);
+ mxSpinCustomMax->GetFormatter().SetValue(0.0);
+ break;
+ case sc::AxisType::Custom:
+ mxComboMaxAxisType->set_active(2);
+ if (rAttribute.getManualMin())
+ mxSpinCustomMax->GetFormatter().SetValue(*rAttribute.getManualMax());
+ break;
+ }
+ ComboValueChanged(*mxComboMaxAxisType);
}
void SparklineDialog::Close() { DoClose(sc::SparklineDialogWrapper::GetChildWindowId()); }
@@ -329,6 +419,12 @@ IMPL_LINK(SparklineDialog, ToggleHandler, weld::Toggleable&, rToggle, void)
rAttribute.setFirst(mxCheckButtonFirst->get_active());
if (mxCheckButtonLast.get() == &rToggle)
rAttribute.setLast(mxCheckButtonLast->get_active());
+ if (mxCheckDisplayXAxis.get() == &rToggle)
+ rAttribute.setDisplayXAxis(mxCheckDisplayXAxis->get_active());
+ if (mxCheckDisplayHidden.get() == &rToggle)
+ rAttribute.setDisplayHidden(mxCheckDisplayHidden->get_active());
+ if (mxCheckRightToLeft.get() == &rToggle)
+ rAttribute.setRightToLeft(mxCheckRightToLeft->get_active());
}
IMPL_LINK_NOARG(SparklineDialog, SelectSparklineType, weld::Toggleable&, void)
@@ -341,6 +437,82 @@ IMPL_LINK_NOARG(SparklineDialog, SelectSparklineType, weld::Toggleable&, void)
rAttribute.setType(sc::SparklineType::Column);
else if (mxRadioStacked->get_active())
rAttribute.setType(sc::SparklineType::Stacked);
+
+ if (mxRadioDisplayEmptyGap->get_active())
+ rAttribute.setDisplayEmptyCellsAs(sc::DisplayEmptyCellsAs::Gap);
+ else if (mxRadioDisplayEmptyZero->get_active())
+ rAttribute.setDisplayEmptyCellsAs(sc::DisplayEmptyCellsAs::Zero);
+ else if (mxRadioDisplayEmptySpan->get_active())
+ rAttribute.setDisplayEmptyCellsAs(sc::DisplayEmptyCellsAs::Span);
+}
+
+IMPL_LINK_NOARG(SparklineDialog, SpinLineWidthChanged, weld::SpinButton&, void)
+{
+ auto& rAttribute = mpLocalSparklineGroup->getAttributes();
+
+ double value = mxSpinLineWidth->get_value() / 100.0;
+ rAttribute.setLineWeight(value);
+}
+
+IMPL_LINK(SparklineDialog, SpinCustomChanged, weld::FormattedSpinButton&, rFormatted, void)
+{
+ auto& rAttribute = mpLocalSparklineGroup->getAttributes();
+
+ if (mxSpinCustomMin.get() == &rFormatted)
+ {
+ rAttribute.setManualMin(rFormatted.GetFormatter().GetValue());
+ }
+ else if (mxSpinCustomMax.get() == &rFormatted)
+ {
+ rAttribute.setManualMax(rFormatted.GetFormatter().GetValue());
+ }
+}
+
+IMPL_LINK(SparklineDialog, ComboValueChanged, weld::ComboBox&, rComboBox, void)
+{
+ auto& rAttribute = mpLocalSparklineGroup->getAttributes();
+ int nActive = rComboBox.get_active();
+
+ if (mxComboMinAxisType.get() == &rComboBox)
+ {
+ switch (nActive)
+ {
+ case 0:
+ rAttribute.setMinAxisType(sc::AxisType::Individual);
+ mxSpinCustomMin->set_sensitive(false);
+ break;
+ case 1:
+ rAttribute.setMinAxisType(sc::AxisType::Group);
+ mxSpinCustomMin->set_sensitive(false);
+ break;
+ case 2:
+ rAttribute.setMinAxisType(sc::AxisType::Custom);
+ mxSpinCustomMin->set_sensitive(true);
+ break;
+ default:
+ break;
+ }
+ }
+ else if (mxComboMaxAxisType.get() == &rComboBox)
+ {
+ switch (nActive)
+ {
+ case 0:
+ rAttribute.setMaxAxisType(sc::AxisType::Individual);
+ mxSpinCustomMax->set_sensitive(false);
+ break;
+ case 1:
+ rAttribute.setMaxAxisType(sc::AxisType::Group);
+ mxSpinCustomMax->set_sensitive(false);
+ break;
+ case 2:
+ rAttribute.setMaxAxisType(sc::AxisType::Custom);
+ mxSpinCustomMax->set_sensitive(true);
+ break;
+ default:
+ break;
+ }
+ }
}
bool SparklineDialog::checkValidInputOutput()
diff --git a/sc/source/ui/inc/SparklineDialog.hxx b/sc/source/ui/inc/SparklineDialog.hxx
index 4af25a861df5..ce8b7cf36118 100644
--- a/sc/source/ui/inc/SparklineDialog.hxx
+++ b/sc/source/ui/inc/SparklineDialog.hxx
@@ -57,10 +57,25 @@ private:
std::unique_ptr<weld::CheckButton> mxCheckButtonFirst;
std::unique_ptr<weld::CheckButton> mxCheckButtonLast;
+ std::unique_ptr<weld::SpinButton> mxSpinLineWidth;
std::unique_ptr<weld::RadioButton> mxRadioLine;
std::unique_ptr<weld::RadioButton> mxRadioColumn;
std::unique_ptr<weld::RadioButton> mxRadioStacked;
+ std::unique_ptr<weld::CheckButton> mxCheckDisplayXAxis;
+ std::unique_ptr<weld::CheckButton> mxCheckDisplayHidden;
+ std::unique_ptr<weld::CheckButton> mxCheckRightToLeft;
+
+ std::unique_ptr<weld::RadioButton> mxRadioDisplayEmptyGap;
+ std::unique_ptr<weld::RadioButton> mxRadioDisplayEmptyZero;
+ std::unique_ptr<weld::RadioButton> mxRadioDisplayEmptySpan;
+
+ std::unique_ptr<weld::ComboBox> mxComboMinAxisType;
+ std::unique_ptr<weld::ComboBox> mxComboMaxAxisType;
+
+ std::unique_ptr<weld::FormattedSpinButton> mxSpinCustomMin;
+ std::unique_ptr<weld::FormattedSpinButton> mxSpinCustomMax;
+
DECL_LINK(ButtonClicked, weld::Button&, void);
DECL_LINK(EditFocusHandler, formula::RefEdit&, void);
DECL_LINK(ButtonFocusHandler, formula::RefButton&, void);
@@ -69,6 +84,9 @@ private:
DECL_LINK(RefInputModifyHandler, formula::RefEdit&, void);
DECL_LINK(ToggleHandler, weld::Toggleable&, void);
DECL_LINK(SelectSparklineType, weld::Toggleable&, void);
+ DECL_LINK(ComboValueChanged, weld::ComboBox&, void);
+ DECL_LINK(SpinLineWidthChanged, weld::SpinButton&, void);
+ DECL_LINK(SpinCustomChanged, weld::FormattedSpinButton&, void);
std::shared_ptr<sc::SparklineGroup> mpLocalSparklineGroup;
diff --git a/sc/uiconfig/scalc/ui/sparklinedialog.ui b/sc/uiconfig/scalc/ui/sparklinedialog.ui
index f295023877bf..8b3ee15a0ad5 100644
--- a/sc/uiconfig/scalc/ui/sparklinedialog.ui
+++ b/sc/uiconfig/scalc/ui/sparklinedialog.ui
@@ -2,13 +2,25 @@
<!-- Generated with glade 3.38.2 -->
<interface domain="sc">
<requires lib="gtk+" version="3.20"/>
+ <object class="GtkAdjustment" id="adjustment-custom-max">
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-custom-min">
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment-line-width">
+ <property name="lower">0.5</property>
+ <property name="upper">8</property>
+ <property name="value">1</property>
+ <property name="step-increment">0.25</property>
+ <property name="page-increment">1</property>
+ </object>
<object class="GtkDialog" id="SparklineDialog">
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="title" translatable="yes" context="SparklineDialog">Sparkline Dialog</property>
- <property name="resizable">False</property>
- <property name="default-width">0</property>
- <property name="default-height">0</property>
<property name="type-hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
@@ -214,7 +226,7 @@
<property name="label-xalign">0</property>
<property name="shadow-type">none</property>
<child>
- <!-- n-columns=6 n-rows=5 -->
+ <!-- n-columns=1 n-rows=6 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -225,377 +237,538 @@
<property name="row-spacing">6</property>
<property name="column-spacing">6</property>
<child>
- <object class="GtkLabel" id="label-series">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-series">Series:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="color-button-series"/>
- </accessibility>
+ <property name="hexpand">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label-type">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-type">Type:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="line-radiobutton"/>
+ <relation type="label-for" target="column-radiobutton"/>
+ <relation type="label-for" target="stacked-radiobutton"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="line-radiobutton">
+ <property name="label" translatable="yes" context="SparklineDialog|line-radiobutton">Line</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="hexpand">True</property>
+ <property name="active">True</property>
+ <property name="draw-indicator">True</property>
+ <accessibility>
+ <relation type="labelled-by" target="label-type"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="column-radiobutton">
+ <property name="label" translatable="yes" context="SparklineDialog|column-radiobutton">Column</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">True</property>
+ <property name="group">line-radiobutton</property>
+ <accessibility>
+ <relation type="labelled-by" target="label-type"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="stacked-radiobutton">
+ <property name="label" translatable="yes" context="SparklineDialog|stacked-radiobutton">Stacked</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">True</property>
+ <property name="group">line-radiobutton</property>
+ <accessibility>
+ <relation type="labelled-by" target="label-type"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left-attach">0</property>
- <property name="top-attach">1</property>
+ <property name="top-attach">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label-negative">
+ <!-- n-columns=6 n-rows=4 -->
+ <object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-negative">Negative Points:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="color-button-negative"/>
- <relation type="label-for" target="check-negative"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-series">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
+ <property name="hexpand">True</property>
+ <property name="row-spacing">6</property>
+ <property name="column-spacing">6</property>
<child>
- <placeholder/>
+ <object class="GtkLabel" id="label-series">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-series">Series:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="color-button-series"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">2</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-series"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-negative">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkMenuButton" id="color-button-series">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="hexpand">False</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-series"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-negative"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="check-negative">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="image-position">right</property>
- <property name="always-show-image">True</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkLabel" id="label-negative">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-negative">Negative Points:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="check-negative"/>
+ <relation type="label-for" target="color-button-negative"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-negative"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label-low">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-low">Low Points:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="color-button-low"/>
- <relation type="label-for" target="check-low"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-high">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkLabel" id="label-high">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-high">High Points:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="check-high"/>
+ <relation type="label-for" target="color-button-high"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-high"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-low">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkCheckButton" id="check-negative">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-negative"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-low"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="check-low">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="image-position">right</property>
- <property name="always-show-image">True</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkCheckButton" id="check-high">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-high"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">2</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-low"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label-high">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-high">High Points:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="color-button-high"/>
- <relation type="label-for" target="check-high"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="check-high">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="image-position">right</property>
- <property name="always-show-image">True</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkMenuButton" id="color-button-negative">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-negative"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-high"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label-marker">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-marker">Marker:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="check-marker"/>
- <relation type="label-for" target="color-button-marker"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">3</property>
- <property name="top-attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="check-marker">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="image-position">right</property>
- <property name="always-show-image">True</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkMenuButton" id="color-button-high">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-high"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">2</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-marker"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">4</property>
- <property name="top-attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-marker">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkLabel" id="label-low">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-low">Low Points:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="check-low"/>
+ <relation type="label-for" target="color-button-low"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">3</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-marker"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">5</property>
- <property name="top-attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-first">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkCheckButton" id="check-low">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-low"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">3</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-first"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">5</property>
- <property name="top-attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="color-button-last">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkMenuButton" id="color-button-low">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-low"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">3</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-last"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">5</property>
- <property name="top-attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="check-first">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="image-position">right</property>
- <property name="always-show-image">True</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkLabel" id="label-last">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-last">Last Points:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="check-last"/>
+ <relation type="label-for" target="color-button-last"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">3</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-first"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">4</property>
- <property name="top-attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="check-last">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="receives-default">False</property>
- <property name="image-position">right</property>
- <property name="always-show-image">True</property>
- <property name="draw-indicator">True</property>
<child>
- <placeholder/>
+ <object class="GtkLabel" id="label-first">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-first">First Points:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="check-first"/>
+ <relation type="label-for" target="color-button-first"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label-marker">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-marker">Marker:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="check-marker"/>
+ <relation type="label-for" target="color-button-marker"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="check-marker">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-marker"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="check-first">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-first"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="check-last">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-last"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">4</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="color-button-marker">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="hexpand">True</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-marker"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="color-button-first">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-first"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="color-button-last">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="draw-indicator">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="label-last"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">5</property>
+ <property name="top-attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFixed">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ <property name="width">3</property>
+ </packing>
</child>
- <accessibility>
- <relation type="labelled-by" target="label-last"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">4</property>
- <property name="top-attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label-first">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-first">First Points:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="color-button-first"/>
- <relation type="label-for" target="check-first"/>
- </accessibility>
- </object>
- <packing>
- <property name="left-attach">3</property>
- <property name="top-attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label-last">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-last">Last Points:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="color-button-last"/>
- <relation type="label-for" target="check-last"/>
- </accessibility>
</object>
<packing>
- <property name="left-attach">3</property>
- <property name="top-attach">4</property>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="label-type">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
- <property name="label" translatable="yes" context="SparklineDialog|label-type">Type:</property>
- <property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="line-radiobutton"/>
- <relation type="label-for" target="column-radiobutton"/>
- <relation type="label-for" target="stacked-radiobutton"/>
- </accessibility>
+ <property name="hexpand">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="check-display-x-axis">
+ <property name="label" translatable="yes" context="SparklineDialog|check-display-x-axis">Display X Axis</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="check-display-hidden">
+ <property name="label" translatable="yes" context="SparklineDialog|check-display-hidden">Display Hidden</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="check-right-to-left">
+ <property name="label" translatable="yes" context="SparklineDialog|check-right-to-left">Right To Left</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">False</property>
+ <property name="image-position">right</property>
+ <property name="always-show-image">True</property>
+ <property name="draw-indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left-attach">0</property>
- <property name="top-attach">0</property>
+ <property name="top-attach">3</property>
</packing>
</child>
<child>
@@ -604,8 +777,26 @@
<property name="can-focus">False</property>
<property name="spacing">6</property>
<child>
- <object class="GtkRadioButton" id="line-radiobutton">
- <property name="label" translatable="yes" context="SparklineDialog|line-radiobutton">Line</property>
+ <object class="GtkLabel" id="label-display-empty-cells-as">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-type">Display Empty Cells As:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="display-empty-radiobutton-gap"/>
+ <relation type="label-for" target="display-empty-radiobutton-zero"/>
+ <relation type="label-for" target="display-empty-radiobutton-span"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="display-empty-radiobutton-gap">
+ <property name="label" translatable="yes" context="SparklineDialog|line-radiobutton">Gap</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
@@ -613,71 +804,246 @@
<property name="active">True</property>
<property name="draw-indicator">True</property>
<accessibility>
- <relation type="labelled-by" target="label-type"/>
+ <relation type="labelled-by" target="label-display-empty-cells-as"/>
</accessibility>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="column-radiobutton">
- <property name="label" translatable="yes" context="SparklineDialog|column-radiobutton">Column</property>
+ <object class="GtkRadioButton" id="display-empty-radiobutton-zero">
+ <property name="label" translatable="yes" context="SparklineDialog|line-radiobutton">Zero</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="hexpand">True</property>
+ <property name="active">True</property>
<property name="draw-indicator">True</property>
- <property name="group">line-radiobutton</property>
+ <property name="group">display-empty-radiobutton-gap</property>
<accessibility>
- <relation type="labelled-by" target="label-type"/>
+ <relation type="labelled-by" target="label-display-empty-cells-as"/>
</accessibility>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="stacked-radiobutton">
- <property name="label" translatable="yes" context="SparklineDialog|stacked-radiobutton">Stacked</property>
+ <object class="GtkRadioButton" id="display-empty-radiobutton-span">
+ <property name="label" translatable="yes" context="SparklineDialog|line-radiobutton">Span</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="hexpand">True</property>
+ <property name="active">True</property>
<property name="draw-indicator">True</property>
- <property name="group">line-radiobutton</property>
+ <property name="group">display-empty-radiobutton-gap</property>
<accessibility>
- <relation type="labelled-by" target="label-type"/>
+ <relation type="labelled-by" target="label-display-empty-cells-as"/>
</accessibility>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
</object>
<packing>
- <property name="left-attach">1</property>
- <property name="top-attach">0</property>
- <property name="width">5</property>
+ <property name="left-attach">0</property>
+ <property name="top-attach">4</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
+ <object class="GtkExpander">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="expanded">True</property>
+ <property name="label-fill">True</property>
+ <property name="resize-toplevel">True</property>
+ <child>
+ <!-- n-columns=3 n-rows=2 -->
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="row-spacing">6</property>
+ <property name="column-spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label-minimum">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-series">Minimum Value:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="combo-min-axis-type"/>
+ <relation type="label-for" target="spin-custom-min"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label-maximum">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-series">Maximum Value:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="combo-max-axis-type"/>
+ <relation type="label-for" target="spin-custom-max"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="combo-min-axis-type">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="active">0</property>
+ <items>
+ <item id="0" translatable="yes" context="SparklineDialog|combo-min-axis-type_0">Individual</item>
+ <item id="1" translatable="yes" context="SparklineDialog|combo-min-axis-type_1">Group</item>
+ <item id="2" translatable="yes" context="SparklineDialog|combo-min-axis-type_2">Custom</item>
+ </items>
+ <accessibility>
+ <relation type="labelled-by" target="label-minimum"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="combo-max-axis-type">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="active">0</property>
+ <items>
+ <item id="0" translatable="yes" context="SparklineDialog|combo-max-axis-type_0">Individual</item>
+ <item id="1" translatable="yes" context="SparklineDialog|combo-max-axis-type_1">Group</item>
+ <item id="2" translatable="yes" context="SparklineDialog|combo-max-axis-type_2">Custom</item>
+ </items>
+ <accessibility>
+ <relation type="labelled-by" target="label-maximum"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spin-custom-min">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="activates-default">True</property>
+ <property name="width-chars">10</property>
+ <property name="truncate-multiline">True</property>
+ <property name="adjustment">adjustment-custom-min</property>
+ <accessibility>
+ <relation type="labelled-by" target="label-minimum"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spin-custom-max">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="activates-default">True</property>
+ <property name="width-chars">10</property>
+ <property name="truncate-multiline">True</property>
+ <property name="adjustment">adjustment-custom-max</property>
+ <accessibility>
+ <relation type="labelled-by" target="label-maximum"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-vertical-axis">Vertical Axis</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">5</property>
+ </packing>
</child>
<child>
- <placeholder/>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkLabel" id="label-line-width">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="SparklineDialog|label-line-width">Line Width:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="spin-line-width"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spin-line-width">
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="input-purpose">number</property>
+ <property name="adjustment">adjustment-line-width</property>
+ <property name="climb-rate">0.25</property>
+ <property name="digits">2</property>
+ <property name="snap-to-ticks">True</property>
+ <property name="numeric">True</property>
+ <property name="value">1</property>
+ <accessibility>
+ <relation type="labelled-by" target="label-line-width"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">2</property>
+ </packing>
</child>
</object>
</child>
@@ -706,4 +1072,19 @@
<action-widget response="-11">help</action-widget>
</action-widgets>
</object>
+ <object class="GtkSizeGroup">
+ <widgets>
+ <widget name="cell-range-label"/>
+ <widget name="output-range-label"/>
+ <widget name="label-type"/>
+ <widget name="label-series"/>
+ <widget name="label-negative"/>
+ <widget name="label-high"/>
+ <widget name="label-low"/>
+ <widget name="label-display-empty-cells-as"/>
+ <widget name="label-minimum"/>
+ <widget name="label-maximum"/>
+ <widget name="label-line-width"/>
+ </widgets>
+ </object>
</interface>