diff options
-rw-r--r-- | include/vcl/toolkit/combobox.hxx | 2 | ||||
-rw-r--r-- | vcl/source/control/combobox.cxx | 22 |
2 files changed, 24 insertions, 0 deletions
diff --git a/include/vcl/toolkit/combobox.hxx b/include/vcl/toolkit/combobox.hxx index 611bce590add..fe322fc2e188 100644 --- a/include/vcl/toolkit/combobox.hxx +++ b/include/vcl/toolkit/combobox.hxx @@ -187,6 +187,8 @@ public: virtual bool set_property(const OString &rKey, const OUString &rValue) override; virtual FactoryFunction GetUITestFactory() const override; + + virtual void DumpAsPropertyTree(tools::JsonWriter&) override; }; #endif // _COMBOBOX_HXX diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx index 881acd2a654c..9942da05aaed 100644 --- a/vcl/source/control/combobox.cxx +++ b/vcl/source/control/combobox.cxx @@ -32,6 +32,7 @@ #include <listbox.hxx> #include <controldata.hxx> #include <comphelper/lok.hxx> +#include <tools/json_writer.hxx> namespace { @@ -1539,4 +1540,25 @@ FactoryFunction ComboBox::GetUITestFactory() const return ComboBoxUIObject::create; } +void ComboBox::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter) +{ + Control::DumpAsPropertyTree(rJsonWriter); + + auto entriesNode = rJsonWriter.startNode("entries"); + for (int i = 0; i < GetEntryCount(); ++i) + { + auto entryNode = rJsonWriter.startNode(""); + rJsonWriter.put("", GetEntry(i)); + } + + auto selectedNode = rJsonWriter.startNode("selectedEntries"); + for (int i = 0; i < GetSelectedEntryCount(); ++i) + { + auto entryNode = rJsonWriter.startNode(""); + rJsonWriter.put("", GetSelectedEntryPos(i)); + } + + rJsonWriter.put("selectedCount", GetSelectedEntryCount()); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |