summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2019-10-11 21:54:39 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2019-10-15 09:52:45 +0200
commita2b63f0eb04fd5df17f3384f647159c72395767c (patch)
tree8de2097e6bf42aeca9037f6f98a72c30430b296f /vcl
parent0836ea3ea6d56cf91e4da8d65b2bf6fd4466febd (diff)
jsdialogs: send units for numeric fields
Change-Id: I63b984856926a613e38319d6d769cab64601c504 Reviewed-on: https://gerrit.libreoffice.org/80692 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 5b08e2023db64741dbe54e36b0fed16395adf98e) Reviewed-on: https://gerrit.libreoffice.org/80783 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/control/field.cxx85
1 files changed, 85 insertions, 0 deletions
diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 59220ac21258..3e82d4f7d398 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -45,6 +45,74 @@ using namespace ::comphelper;
namespace
{
+std::string FieldUnitToString(FieldUnit unit)
+{
+ switch(unit)
+ {
+ case FieldUnit::NONE:
+ return "";
+
+ case FieldUnit::MM:
+ return "mm";
+
+ case FieldUnit::CM:
+ return "cm";
+
+ case FieldUnit::M:
+ return "m";
+
+ case FieldUnit::KM:
+ return "km";
+
+ case FieldUnit::TWIP:
+ return "twip";
+
+ case FieldUnit::POINT:
+ return "point";
+
+ case FieldUnit::PICA:
+ return "pica";
+
+ case FieldUnit::INCH:
+ return "inch";
+
+ case FieldUnit::FOOT:
+ return "foot";
+
+ case FieldUnit::MILE:
+ return "mile";
+
+ case FieldUnit::CHAR:
+ return "char";
+
+ case FieldUnit::LINE:
+ return "line";
+
+ case FieldUnit::CUSTOM:
+ return "custom";
+
+ case FieldUnit::PERCENT:
+ return "percent";
+
+ case FieldUnit::MM_100TH:
+ return "mm100th";
+
+ case FieldUnit::PIXEL:
+ return "pixel";
+
+ case FieldUnit::DEGREE:
+ return "degree";
+
+ case FieldUnit::SECOND:
+ return "second";
+
+ case FieldUnit::MILLISECOND:
+ return "millisecond";
+ }
+
+ return "";
+}
+
sal_Int64 ImplPower10( sal_uInt16 n )
{
sal_uInt16 i;
@@ -806,6 +874,14 @@ void NumericField::Last()
SpinField::Last();
}
+boost::property_tree::ptree NumericField::DumpAsPropertyTree()
+{
+ boost::property_tree::ptree aTree(SpinField::DumpAsPropertyTree());
+ aTree.put("min", GetMin());
+ aTree.put("max", GetMax());
+ return aTree;
+}
+
namespace
{
Size calcMinimumSize(const Edit &rSpinField, const NumericFormatter &rFormatter)
@@ -1626,6 +1702,15 @@ void MetricField::CustomConvert()
maCustomConvertLink.Call( *this );
}
+boost::property_tree::ptree MetricField::DumpAsPropertyTree()
+{
+ boost::property_tree::ptree aTree(SpinField::DumpAsPropertyTree());
+ aTree.put("min", GetMin());
+ aTree.put("max", GetMax());
+ aTree.put("unit", FieldUnitToString(GetUnit()));
+ return aTree;
+}
+
MetricBox::MetricBox(vcl::Window* pParent, WinBits nWinStyle)
: ComboBox(pParent, nWinStyle)
, MetricFormatter(this)