uitest: add treelist demo

Change-Id: I41796a2a557143030cbd016399c2c1bf5cde37bd
diff --git a/uitest/demo_ui/demo_ui.txt b/uitest/demo_ui/demo_ui.txt
index fb39558..512da3f 100644
--- a/uitest/demo_ui/demo_ui.txt
+++ b/uitest/demo_ui/demo_ui.txt
@@ -9,6 +9,7 @@ demo_ui.listbox.select_entry_text
demo_ui.tabcontrol.select_pos
demo_ui.tabdialog.select_tab_page_pos
demo_ui.tabdialog.select_tab_page_name
demo_ui.treelist.expand
demo_ui.spinfield.up
demo_ui.spinfield.down
demo_ui.spinfield.text
diff --git a/uitest/demo_ui/treelist.py b/uitest/demo_ui/treelist.py
new file mode 100644
index 0000000..4523dca
--- /dev/null
+++ b/uitest/demo_ui/treelist.py
@@ -0,0 +1,64 @@
# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

import time

from uitest_helper import UITest

from helper import mkPropertyValues
from uihelper.calc import enter_text_to_cell

from uitest_helper import get_state_as_dict

try:
    import pyuno
    import uno
    import unohelper
except ImportError:
    print("pyuno not found: try to set PYTHONPATH and URE_BOOTSTRAP variables")
    print("PYTHONPATH=/installation/opt/program")
    print("URE_BOOTSTRAP=file:///installation/opt/program/fundamentalrc")
    raise

def expand(xContext):
    xUITest = xContext.ServiceManager.createInstanceWithContext(
            "org.libreoffice.uitest.UITest", xContext)

    ui_test = UITest(xUITest, xContext)

    ui_test.create_doc_in_start_center("calc")

    xCalcDoc = xUITest.getTopFocusWindow()
    xGridWindow = xCalcDoc.getChild("grid_window")
    enter_text_to_cell(xGridWindow, "B2", "=2+3+4")
    xGridWindow.executeAction("SELECT", mkPropertyValues({"CELL": "B2"}))

    ui_test.execute_modeless_dialog_through_command(".uno:FunctionDialog")

    xFunctionDlg = xUITest.getTopFocusWindow()

    xTabs = xFunctionDlg.getChild("tabs")
    xTabs.executeAction("SELECT", mkPropertyValues({"POS":"1"}))

    xTreelist = xTabs.getChild("struct")

    xTreeEntry = xTreelist.getChild('0')

    xTreeEntry.executeAction("COLLAPSE", tuple())

    time.sleep(1)

    xTreeEntry.executeAction("EXPAND", tuple())

    time.sleep(1)

    xCancelBtn = xFunctionDlg.getChild("cancel")
    xCancelBtn.executeAction("CLICK", tuple())

    ui_test.close_doc()

# vim:set shiftwidth=4 softtabstop=4 expandtab: */