diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2019-10-11 21:54:39 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2019-10-14 18:11:24 +0200 |
commit | 5b08e2023db64741dbe54e36b0fed16395adf98e (patch) | |
tree | 41c7296df0ca5a8ba4606d0df08a81fc7f98e5ce | |
parent | 35e6ada72631379053fbf620e79ddaeafc9659e9 (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>
-rw-r--r-- | include/vcl/field.hxx | 4 | ||||
-rw-r--r-- | vcl/source/control/field.cxx | 85 |
2 files changed, 89 insertions, 0 deletions
diff --git a/include/vcl/field.hxx b/include/vcl/field.hxx index 75f8240520bc..a0d6b4e5833c 100644 --- a/include/vcl/field.hxx +++ b/include/vcl/field.hxx @@ -453,6 +453,8 @@ public: virtual void Last() override; virtual bool set_property(const OString &rKey, const OUString &rValue) override; virtual void dispose() override; + + virtual boost::property_tree::ptree DumpAsPropertyTree() override; }; @@ -514,6 +516,8 @@ public: virtual bool set_property(const OString &rKey, const OUString &rValue) override; virtual void dispose() override; + + virtual boost::property_tree::ptree DumpAsPropertyTree() override; }; diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx index ffc6956d4cf2..83644c5e5657 100644 --- a/vcl/source/control/field.cxx +++ b/vcl/source/control/field.cxx @@ -46,6 +46,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; @@ -807,6 +875,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) @@ -1665,6 +1741,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) |