+:Abort operation.OK_QPushButton {text='OK' type='QPushButton' unnamed='1' visible='1' window=':Abort operation_QMessageBox'}
+:Abort operation_QMessageBox {type='QMessageBox' unnamed='1' visible='1' windowTitle='Abort operation'}
:Application errors.Close_QPushButton {text='Close' type='QPushButton' unnamed='1' visible='1' window=':Application errors_XGUI_ErrorDialog'}
:Application errors_XGUI_ErrorDialog {type='XGUI_ErrorDialog' unnamed='1' visible='1' windowTitle='Application errors'}
:Basic.Circle_AppElements_Button {container=':Sketch.Basic_AppElements_MenuGroupPanel' text='Circle' type='AppElements_Button' unnamed='1' visible='1'}
:Basic.Line_AppElements_Button {container=':Sketch.Basic_AppElements_MenuGroupPanel' text='Line' type='AppElements_Button' unnamed='1' visible='1'}
:Basic.Point_AppElements_Button {container=':Sketch.Basic_AppElements_MenuGroupPanel' text='Point' type='AppElements_Button' unnamed='1' visible='1'}
:Basic.Sketch_AppElements_Button {container=':Sketch.Basic_AppElements_MenuGroupPanel' text='Sketch' type='AppElements_Button' unnamed='1' visible='1'}
+:Basic_QToolButton {container=':Sketch.Basic_AppElements_MenuGroupPanel' occurrence='7' type='QToolButton' unnamed='1' visible='1'}
:Center.X:_ModuleBase_ParamSpinBox {container=':Circle.Center_QGroupBox' leftWidget=':Center.X:_QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
:Center.X:_QLabel {container=':Circle.Center_QGroupBox' text='X ' type='QLabel' unnamed='1' visible='1'}
:Center.Y:_ModuleBase_ParamSpinBox {container=':Circle.Center_QGroupBox' leftWidget=':Center.Y:_QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
:Circle.property_panel_ok_QToolButton {container=':OpenParts*.Circle_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
:Circle.qt_spinbox_lineedit_QLineEdit {container=':OpenParts*.Circle_XGUI_PropertyPanel' name='qt_spinbox_lineedit' occurrence='3' type='QLineEdit' visible='1'}
:Constraints.Distance_AppElements_Button {container=':Sketch.Constraints_AppElements_MenuGroupPanel' text='Distance' type='AppElements_Button' unnamed='1' visible='1'}
+:Constraints.Parallel_AppElements_Button {container=':Sketch.Constraints_AppElements_MenuGroupPanel' text='Parallel' type='AppElements_Button' unnamed='1' visible='1'}
+:Constraints.Perpendicular_AppElements_Button {container=':Sketch.Constraints_AppElements_MenuGroupPanel' text='Perpendicular' type='AppElements_Button' unnamed='1' visible='1'}
:Constraints.Radius_AppElements_Button {container=':Sketch.Constraints_AppElements_MenuGroupPanel' text='Radius' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Exit_AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Exit' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Open..._AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Open...' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Preferences_AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Preferences' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Rebuild_AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Rebuild' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Redo_AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Redo' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Save as..._AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Save as...' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Save_AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Save' type='AppElements_Button' unnamed='1' visible='1'}
+:Default.Undo_AppElements_Button {container=':General.Default_AppElements_MenuGroupPanel' text='Undo' type='AppElements_Button' unnamed='1' visible='1'}
:Delete features.Label_QLabel {name='qt_msgbox_label' type='QLabel' visible='1' window=':Delete features_QMessageBox'}
:Delete features.Yes_QPushButton {text='Yes' type='QPushButton' unnamed='1' visible='1' window=':Delete features_QMessageBox'}
:Delete features_QMessageBox {type='QMessageBox' unnamed='1' visible='1' windowTitle='Delete features'}
:Distance.First object_QLineEdit {container=':OpenParts*.Distance_XGUI_PropertyPanel' leftWidget=':Distance.First object_QLabel' type='QLineEdit' unnamed='1' visible='1'}
:Distance.Second object_QLabel {container=':OpenParts*.Distance_XGUI_PropertyPanel' text='Second object' type='QLabel' unnamed='1' visible='1'}
:Distance.Second object_QLineEdit {container=':OpenParts*.Distance_XGUI_PropertyPanel' leftWidget=':Distance.Second object_QLabel' type='QLineEdit' unnamed='1' visible='1'}
+:Edit preferences.qt_tabwidget_tabbar_QTabBar {name='qt_tabwidget_tabbar' type='QTabBar' visible='1' window=':Edit preferences_ModuleBase_PreferencesDlg'}
+:Edit preferences_ModuleBase_PreferencesDlg {type='ModuleBase_PreferencesDlg' unnamed='1' visible='1' windowTitle='Edit preferences'}
:End point.X:_ModuleBase_ParamSpinBox {container=':Line.End point_QGroupBox' leftWidget=':End point.X:_QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
:End point.X:_QLabel {container=':Line.End point_QGroupBox' text='X ' type='QLabel' unnamed='1' visible='1'}
:End point.Y:_ModuleBase_ParamSpinBox {container=':Line.End point_QGroupBox' leftWidget=':End point.Y:_QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
:Extrusion.property_panel_ok_QToolButton {container=':OpenParts*.Extrusion_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
:Extrusion_ModuleBase_PageWidget {container=':OpenParts*.Extrusion_XGUI_PropertyPanel' occurrence='2' type='ModuleBase_PageWidget' unnamed='1' visible='1'}
:Features.Extrusion_AppElements_MenuGroupPanel {container=':qt_tabwidget_stackedwidget.Features_AppElements_Workbench' name='Extrusion' type='AppElements_MenuGroupPanel' visible='1'}
+:General.Default_AppElements_MenuGroupPanel {container=':OpenParts*.General_AppElements_DockWidget' name='Default' type='AppElements_MenuGroupPanel' visible='1'}
+:General.General_AppElementsDockTitleLabel {container=':OpenParts*.General_AppElements_DockWidget' text='General' type='AppElementsDockTitleLabel' unnamed='1' visible='1'}
+:General.Sketch_QTabWidget {container=':OpenParts*.General_AppElements_DockWidget' leftWidget=':General.Default_AppElements_MenuGroupPanel' text='Sketch' type='QTabWidget' unnamed='1' visible='1'}
:General.qt_tabwidget_stackedwidget_QStackedWidget {container=':OpenParts*.General_AppElements_DockWidget' name='qt_tabwidget_stackedwidget' type='QStackedWidget' visible='1'}
:General.qt_tabwidget_tabbar_QTabBar {container=':OpenParts*.General_AppElements_DockWidget' name='qt_tabwidget_tabbar' type='QTabBar' visible='1'}
+:General_AppElements_DockWidgetTitle {container=':OpenParts*.General_AppElements_DockWidget' type='AppElements_DockWidgetTitle' unnamed='1' visible='1'}
+:General_AppElements_MainMenu {container=':OpenParts*.General_AppElements_DockWidget' type='AppElements_MainMenu' unnamed='1' visible='1'}
+:General_QToolButton {container=':OpenParts*.General_AppElements_DockWidget' occurrence='29' type='QToolButton' unnamed='1' visible='1'}
+:General_QToolButton_2 {container=':OpenParts*.General_AppElements_DockWidget' occurrence='30' type='QToolButton' unnamed='1' visible='1'}
+:General_QToolButton_3 {container=':OpenParts*.General_AppElements_DockWidget' occurrence='31' type='QToolButton' unnamed='1' visible='1'}
:Line.End point_QGroupBox {container=':OpenParts*.Line_XGUI_PropertyPanel' title='End point' type='QGroupBox' unnamed='1' visible='1'}
:Line.Start point_QGroupBox {container=':OpenParts*.Line_XGUI_PropertyPanel' title='Start point' type='QGroupBox' unnamed='1' visible='1'}
:Line.property_panel_ok_QToolButton {container=':OpenParts*.Line_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
+:Object browser.qt_dockwidget_closebutton_QDockWidgetTitleButton {container=':OpenParts*.Object browser_QDockWidget' name='qt_dockwidget_closebutton' type='QDockWidgetTitleButton' visible='1'}
+:Object browser.qt_dockwidget_floatbutton_QDockWidgetTitleButton {container=':OpenParts*.Object browser_QDockWidget' name='qt_dockwidget_floatbutton' type='QDockWidgetTitleButton' visible='1'}
+:Object browser.qt_dockwidget_floatbutton_XGUI_ObjectsBrowser {aboveWidget=':Object browser.qt_dockwidget_floatbutton_QDockWidgetTitleButton' container=':OpenParts*.Object browser_QDockWidget' type='XGUI_ObjectsBrowser' unnamed='1' visible='1'}
+:Object browser_QFrame {container=':OpenParts*.Object browser_QDockWidget' type='QFrame' unnamed='1' visible='1'}
+:Object browser_QLabel {container=':OpenParts*.Object browser_QDockWidget' type='QLabel' unnamed='1' visible='1'}
+:Object browser_QLineEdit {container=':OpenParts*.Object browser_QDockWidget' type='QLineEdit' unnamed='1' visible='1'}
:Object browser_XGUI_DataTree {container=':OpenParts*.Object browser_QDockWidget' type='XGUI_DataTree' unnamed='1' visible='1'}
+:OpenParts*.Back_QToolButton {text='Back' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Bottom_QToolButton {text='Bottom' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*.Circle_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Circle'}
+:OpenParts*.Clone_QToolButton {text='Clone' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*.Distance_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Distance'}
+:OpenParts*.Dump view_QToolButton {text='Dump view' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*.Extrusion_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Extrusion'}
+:OpenParts*.Fit all_QToolButton {text='Fit all' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Fit area_QToolButton {text='Fit area' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Front_QToolButton {text='Front' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*.General_AppElements_DockWidget {type='AppElements_DockWidget' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='General'}
+:OpenParts*.Global panning_QToolButton {text='Global panning' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Left_QToolButton {text='Left' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*.Line_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Line'}
:OpenParts*.Object browser_QDockWidget {type='QDockWidget' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Object browser'}
+:OpenParts*.Object browser_QMdiArea {aboveWidget=':OpenParts*.General_AppElements_DockWidget' leftWidget=':OpenParts*.Object browser_QDockWidget' type='QMdiArea' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Panning_QToolButton {text='Panning' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Parallel_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Parallel'}
:OpenParts*.Parameter_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Parameter'}
:OpenParts*.Point_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Point'}
+:OpenParts*.Reset_QToolButton {text='Reset' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Right_QToolButton {text='Right' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Rotate_QToolButton {text='Rotate' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Show/Hide trihedron_QToolButton {text='Show/Hide trihedron' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*.Sketch_XGUI_PropertyPanel {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Sketch'}
+:OpenParts*.Top_QToolButton {text='Top' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*.Viewer #1_QMdiSubWindow {type='QMdiSubWindow' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow' windowTitle='Viewer #1'}
+:OpenParts*.Zoom_QToolButton {text='Zoom' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:OpenParts*_AppElements_MainWindow {type='AppElements_MainWindow' unnamed='1' visible='1' windowTitle?='OpenParts*'}
:OpenParts*_AppElements_ViewPort {type='AppElements_ViewPort' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_AppElements_ViewWindow {type='AppElements_ViewWindow' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_QTabBar {type='QTabBar' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_QToolButton {occurrence='48' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_QToolButton_2 {occurrence='49' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_QToolButton_3 {occurrence='50' type='QToolButton' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_QWidget {occurrence='50' type='QWidget' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_ViewerLabel {type='ViewerLabel' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_ViewerToolbar {type='ViewerToolbar' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
+:OpenParts*_ViewerToolbar_2 {occurrence='2' type='ViewerToolbar' unnamed='1' visible='1' window=':OpenParts*_AppElements_MainWindow'}
:Operations.New part_AppElements_Button {container=':Part.Operations_AppElements_MenuGroupPanel' text='New part' type='AppElements_Button' unnamed='1' visible='1'}
+:Parallel.property_panel_cancel_QToolButton {container=':OpenParts*.Parallel_XGUI_PropertyPanel' name='property_panel_cancel' type='QToolButton' visible='1'}
:Parameter.property_panel_ok_QToolButton {container=':OpenParts*.Parameter_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
:Parameter_ExpressionEditor {container=':OpenParts*.Parameter_XGUI_PropertyPanel' type='ExpressionEditor' unnamed='1' visible='1'}
:Parameter_QLineEdit {container=':OpenParts*.Parameter_XGUI_PropertyPanel' type='QLineEdit' unnamed='1' visible='1'}
:Save current file.Discard_QPushButton {text='Discard' type='QPushButton' unnamed='1' visible='1' window=':Save current file_QMessageBox'}
:Save current file_QMessageBox {type='QMessageBox' unnamed='1' visible='1' windowTitle='Save current file'}
:Sketch.Basic_AppElements_MenuGroupPanel {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' name='Basic' type='AppElements_MenuGroupPanel' visible='1'}
+:Sketch.Basic_QFrame {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' leftWidget=':Sketch.Basic_AppElements_MenuGroupPanel' type='QFrame' unnamed='1' visible='1'}
:Sketch.Constraints_AppElements_MenuGroupPanel {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' name='Constraints' type='AppElements_MenuGroupPanel' visible='1'}
+:Sketch.Constraints_QFrame {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' leftWidget=':Sketch.Constraints_AppElements_MenuGroupPanel' type='QFrame' unnamed='1' visible='1'}
+:Sketch.Edit_AppElements_MenuGroupPanel {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' name='Edit' type='AppElements_MenuGroupPanel' visible='1'}
+:Sketch.Edit_QFrame {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' leftWidget=':Sketch.Edit_AppElements_MenuGroupPanel' type='QFrame' unnamed='1' visible='1'}
:Sketch.Ok_QToolButton {container=':Sketch.Basic_AppElements_MenuGroupPanel' occurrence='6' type='QToolButton' unnamed='1' visible='1'}
:Sketch.property_panel_ok_QToolButton {container=':OpenParts*.Sketch_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
+:Sketch_QLabel {container=':OpenParts*.Sketch_XGUI_PropertyPanel' type='QLabel' unnamed='1' visible='1'}
:Sketch_QScrollArea {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' type='QScrollArea' unnamed='1' visible='1'}
+:Sketch_QWidget {container=':qt_tabwidget_stackedwidget.Sketch_AppElements_Workbench' occurrence='2' type='QWidget' unnamed='1' visible='1'}
:Start point.X:_ModuleBase_ParamSpinBox {container=':Line.Start point_QGroupBox' leftWidget=':Start point.X:_QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
:Start point.X:_QLabel {container=':Line.Start point_QGroupBox' text='X ' type='QLabel' unnamed='1' visible='1'}
:Start point.Y:_ModuleBase_ParamSpinBox {container=':Line.Start point_QGroupBox' leftWidget=':Start point.Y:_QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
--- /dev/null
+def sketch():
+ #line creation
+ clickButton(waitForObject(":Basic.Line_AppElements_Button"))
+ mouseClick(waitForObject(":OpenParts*_AppElements_ViewPort"), 123, 417, 0, Qt.LeftButton)
+ mouseClick(waitForObject(":OpenParts*_AppElements_ViewPort"), 175, 132, 0, Qt.LeftButton)
+ mouseClick(waitForObject(":OpenParts*_AppElements_ViewPort"), 477, 63, 0, Qt.LeftButton)
+ mouseClick(waitForObject(":OpenParts*_AppElements_ViewPort"), 739, 397, 0, Qt.LeftButton)
+ mouseClick(waitForObject(":OpenParts*_AppElements_ViewPort"), 222, 334, 0, Qt.LeftButton)
+ type(waitForObject(":OpenParts*_AppElements_ViewPort"), "<Esc>")
+
+ parallel_create((165, 190), (581, 197))
+ parallel_create((285, 135), (469, 364))
+ test.vp("VP1")
+ mouseDrag(waitForObject(":OpenParts*_AppElements_ViewPort"), 663, 348, -375, 114, 1, Qt.LeftButton)
+ test.vp("VP2")
+ mouseDrag(waitForObject(":OpenParts*_AppElements_ViewPort"), 301, 125, 284, 67, 1, Qt.LeftButton)
+ mouseDrag(waitForObject(":OpenParts*_AppElements_ViewPort"), 156, 249, -15, 184, 1, Qt.LeftButton)
+ test.vp("VP3")
+ mouseClick(waitForObject(":OpenParts*_AppElements_ViewPort"), 336, 302, 0, Qt.LeftButton)
+
+def main():
+ source(findFile("scripts", "common.py"))
+
+ startApplication("GeomApp")
+ set_defaults()
+
+ sketch_create(help_points("XY_plane"), lambda: sketch())
+
+ sendEvent("QCloseEvent", waitForObject(":OpenParts*_AppElements_MainWindow"))