summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-06-21 16:44:30 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-06-22 18:19:32 +0200
commit2e2d4a326e25b460b0590d1cccb0ae2834743fc0 (patch)
tree358c779fa7623566b39bf6502968a7a84ac56d37 /vcl
parent47b9dad7976fe0611b60efa8c38c148445c99949 (diff)
uitest: add support for TabControl
Change-Id: I4cdffe62cdabaf110eaaeb0d31a45c44833d354a
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/control/tabctrl.cxx6
-rw-r--r--vcl/source/uitest/uiobject.cxx48
2 files changed, 54 insertions, 0 deletions
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index 70869bce7c57..903d3bb818f5 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -31,6 +31,7 @@
#include <vcl/layout.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/settings.hxx>
+#include <vcl/uitest/uiobject.hxx>
#include "controldata.hxx"
#include "svdata.hxx"
@@ -2193,4 +2194,9 @@ std::vector<sal_uInt16> TabControl::GetPageIDs() const
return aIDs;
}
+FactoryFunction TabControl::GetUITestFactory() const
+{
+ return TabControlUIObject::create;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/uitest/uiobject.cxx b/vcl/source/uitest/uiobject.cxx
index 27c7af59711a..4d33f9c08059 100644
--- a/vcl/source/uitest/uiobject.cxx
+++ b/vcl/source/uitest/uiobject.cxx
@@ -871,4 +871,52 @@ std::unique_ptr<UIObject> SpinFieldUIObject::create(vcl::Window* pWindow)
return std::unique_ptr<UIObject>(new SpinFieldUIObject(pSpinField));
}
+TabControlUIObject::TabControlUIObject(VclPtr<TabControl> xTabControl):
+ WindowUIObject(xTabControl),
+ mxTabControl(xTabControl)
+{
+}
+
+TabControlUIObject::~TabControlUIObject()
+{
+}
+
+void TabControlUIObject::execute(const OUString& rAction,
+ const StringMap& rParameters)
+{
+ if (rAction == "SELECT")
+ {
+ if (rParameters.find("POS") != rParameters.end())
+ {
+ auto itr = rParameters.find("POS");
+ sal_uInt32 nPos = itr->second.toUInt32();
+ std::vector<sal_uInt16> aIds = mxTabControl->GetPageIDs();
+ mxTabControl->SelectTabPage(aIds[nPos]);
+ }
+ }
+ else
+ WindowUIObject::execute(rAction, rParameters);
+}
+
+StringMap TabControlUIObject::get_state()
+{
+ StringMap aMap = WindowUIObject::get_state();
+
+ return aMap;
+}
+
+OUString TabControlUIObject::get_name() const
+{
+ return OUString("TabControlUIObject");
+}
+
+std::unique_ptr<UIObject> TabControlUIObject::create(vcl::Window* pWindow)
+{
+ TabControl* pTabControl = dynamic_cast<TabControl*>(pWindow);
+ assert(pTabControl);
+ return std::unique_ptr<UIObject>(new TabControlUIObject(pTabControl));
+}
+
+
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */