summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/control/tabctrl.cxx27
1 files changed, 23 insertions, 4 deletions
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index dee5e226452c..6579613dbd62 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -2180,18 +2180,37 @@ FactoryFunction TabControl::GetUITestFactory() const
void TabControl::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter)
{
- Control::DumpAsPropertyTree(rJsonWriter);
+ rJsonWriter.put("id", get_id());
+ rJsonWriter.put("type", "tabcontrol");
+ rJsonWriter.put("selected", GetCurPageId());
+
+ {
+ auto childrenNode = rJsonWriter.startArray("children");
+ for (int i = 0; i < GetChildCount(); i++)
+ {
+ vcl::Window* pChild = GetChild(i);
+
+ if (pChild)
+ {
+ auto childNode = rJsonWriter.startStruct();
+ pChild->DumpAsPropertyTree(rJsonWriter);
+
+ if (pChild->IsVisible()) {
+ rJsonWriter.put("hidden", "true");
+ }
+ }
+ }
+ }
{
- auto tabsNode = rJsonWriter.startNode("tabs");
+ auto tabsNode = rJsonWriter.startArray("tabs");
for(auto id : GetPageIDs())
{
- auto tabNode = rJsonWriter.startNode("");
+ auto tabNode = rJsonWriter.startStruct();
rJsonWriter.put("text", GetPageText(id));
rJsonWriter.put("id", id);
rJsonWriter.put("name", GetPageName(id));
}
}
- rJsonWriter.put("selected", GetCurPageId());
}
sal_uInt16 NotebookbarTabControlBase::m_nHeaderHeight = 0;