Salome HOME
9d4c7da1c6b1d88f9402eca72dbbfeda786e7061
[modules/shaper.git] / test.squish / shared / scripts / common.py
1 # Copyright (C) 2014-2024  CEA, EDF
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 import filecmp
21 import os
22 import shutil
23
24 testSettings.logScreenshotOnError = True
25 testSettings.logScreenshotOnFail = True
26 # RESULTS_PATH = "/dn48/SHAPER/eso/sources/test.squish/shared/testresults/"
27 DATA_PATH = os.getenv('TEST_DATA_DIR')
28 TMP_DIR = os.path.join(DATA_PATH, 'tmp')
29
30 g_points = {"XY_plane": (332, 250), "XZ_plane": (355, 207)}  # one of the construction planes
31 def help_points(name):
32     return g_points[name]
33
34 #---------------------------------------------------------------------------------------------
35 # Tools
36 def findMenuItem(menuObject, item):
37     for child in object.children(menuObject):
38         if child.text == item:
39             return child
40     return None
41
42 #---------------------------------------------------------------------------------------------
43 # Tools for Property Panel
44 def getPropertyPanelRealName():
45     return "{name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop'}"
46
47 def getSpinBoxRealName(name):
48     return "{container=%s name='%s' type='ModuleBase_ParamSpinBox' visible='1'}" % (getPropertyPanelRealName(), name)
49
50 #---------------------------------------------------------------------------------------------
51 def create_tmp():
52     remove_tmp()
53     os.makedirs(TMP_DIR)
54
55 def remove_tmp():
56     if os.path.exists(TMP_DIR):
57         shutil.rmtree(TMP_DIR)
58
59 #---------------------------------------------------------------------------------------------
60 def set_defaults():
61     waitForObject(":SALOME*_STD_TabDesktop").resize(1024, 768)
62     create_tmp()
63
64 def activate_SHAPER():
65     clickButton(waitForObject(":SALOME*.Shaper_QToolButton"))
66     clickButton(waitForObject(":Activate module.New_QPushButton"))
67
68 def close_application():
69     sendEvent("QCloseEvent", waitForObject(":SALOME*_STD_TabDesktop"))
70     clickButton(waitForObject(":Exit.Ok_QPushButton"))
71     clickButton(waitForObject(":Close active study.Close w/o saving_QPushButton"))
72 #     snooze(10)
73     remove_tmp()
74
75 def close_application_wo_saving():
76     sendEvent("QCloseEvent", waitForObject(":SALOME*_STD_TabDesktop"))
77     clickButton(waitForObject(":Exit.Ok_QPushButton"))
78     clickButton(waitForObject(":Close active study.Close w/o saving_QPushButton"))
79     remove_tmp()
80
81 def part_create():
82     activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Part"))
83     activateItem(waitForObjectItem(":Part_QMenu", "New part"))
84
85 def sketch_create(point, actions):
86     clickButton(waitForObject(":SALOME*.Sketch_QToolButton"))
87     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
88     activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
89
90     actions()
91
92     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
93
94 def point_create_in_view(point, aux=0):
95     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
96     mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))
97
98     if aux == 1:
99         clickButton(waitForObject(":Point.Auxiliary_QCheckBox"))
100
101     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
102     clickButton(waitForObject(":Point.property_panel_cancel_QToolButton"))
103
104 def point_create(point, aux=0):
105     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
106     mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))
107
108     if aux == 1:
109         clickButton(waitForObject(":Point.Auxiliary_QCheckBox"))
110
111     type(waitForObject(":Point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
112     type(waitForObject(":Point.X _ModuleBase_ParamSpinBox"), point[0])
113
114     type(waitForObject(":Point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
115     type(waitForObject(":Point.Y _ModuleBase_ParamSpinBox"), point[1])
116
117     clickButton(waitForObject(":Point.property_panel_ok_QToolButton"))
118
119 def line_create_in_view(start_point, end_point, aux=0):
120     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
121     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
122
123     if aux == 1:
124         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
125
126     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
127     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
128
129     clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))
130
131 def closing_line_create_in_view(start_point, end_point, aux=0):
132     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
133     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
134
135     if aux == 1:
136         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
137
138     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
139     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
140
141 def lines_create_in_view(points, aux=0):
142     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
143     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
144
145     if aux == 1:
146         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
147
148     for point in points:
149       mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
150
151 def lines_close():
152     clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))
153
154 def line_create(start_point, end_point, aux=0):  # Set aux=1 to create auxiliary line
155     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
156     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
157
158     if aux == 1:
159         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
160
161     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
162     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox"), start_point[0])
163
164     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
165     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"), start_point[1])
166
167     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
168     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox"), end_point[0])
169
170     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
171     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox"), end_point[1])
172
173     clickButton(waitForObject(":Line.property_panel_ok_QToolButton"))
174
175 def circle_create_in_view(center, radius, aux=0):
176     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
177     mouseClick(waitForObjectItem(":Sketch_QMenu", "Circle"))
178
179     if aux == 1:
180         clickButton(waitForObject(":Circle.Auxiliary_QCheckBox"))
181
182     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), center[0], center[1], 0, Qt.LeftButton)
183     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), radius[0], radius[1], 0, Qt.LeftButton)
184
185     clickButton(waitForObject(":Circle.property_panel_cancel_QToolButton"))
186
187 def circle_create(center, radius, aux=0):
188     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
189     mouseClick(waitForObjectItem(":Sketch_QMenu", "Circle"))
190
191     if aux == 1:
192         clickButton(waitForObject(":Circle.Auxiliary_QCheckBox"))
193
194     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
195     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox"), center[0])
196
197     type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
198     type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox"), center[1])
199
200     type(waitForObject(":Circle.CircleRadius_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
201     type(waitForObject(":Circle.CircleRadius_ModuleBase_ParamSpinBox"), radius)
202
203     clickButton(waitForObject(":Circle.property_panel_ok_QToolButton"))
204
205 def arc_create(center, start_point, end_point, aux=0):
206     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
207     mouseClick(waitForObjectItem(":Sketch_QMenu", "Arc"))
208
209     if aux == 1:
210         clickButton(waitForObject(":Arc.Auxiliary_QCheckBox"))
211
212     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
213     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox_2"), center[0])
214
215     type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
216     type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox_2"), center[1])
217
218     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
219     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox_2"), start_point[0])
220
221     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
222     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox_2"), start_point[1])
223
224     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
225     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox_2"), end_point[0])
226
227     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
228     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox_2"), end_point[1])
229
230     clickButton(waitForObject(":Arc.property_panel_ok_QToolButton"))
231
232 def arc_create_in_view(center, start_point, end_point, aux=0):
233     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
234     mouseClick(waitForObjectItem(":Sketch_QMenu", "Arc"))
235
236     if aux == 1:
237         clickButton(waitForObject(":Arc.Auxiliary_QCheckBox"))
238
239     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), center[0], center[1], 0, Qt.LeftButton)
240     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
241     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
242
243     clickButton(waitForObject(":Arc.property_panel_cancel_QToolButton"))
244
245 def save(filename):
246     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "File"))
247     mouseClick(waitForObjectItem(":_QMenu", "Save As..."))
248
249     type(waitForObject(":fileNameEdit_QLineEdit"), filename)
250     clickButton(waitForObject(":Save File.Save_QPushButton"))
251
252 def extrusion(point, to_size, from_size):
253     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
254     mouseClick(waitForObjectItem(":_QMenu", "Extrusion"))
255
256     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
257
258     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
259     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox"), to_size)
260
261     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
262     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox"), from_size)
263
264     clickButton(waitForObject(":Extrusion.property_panel_ok_QToolButton"))
265
266 def open(filename):
267     clickButton(waitForObject(":SALOME*.Open_QToolButton"))
268     waitForObject(":fileNameEdit_QLineEdit_2").setText(filename)
269     type(waitForObject(":fileNameEdit_QLineEdit_2"), "<Return>")
270
271 def point_fixe(point):
272     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
273     mouseClick(waitForObjectItem(":Sketch_QMenu", "Fixed"))
274     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
275     clickButton(waitForObject(":Fixed.property_panel_cancel_QToolButton"))
276
277
278 def distance(start_point, end_point, annotation_point):
279     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
280     mouseClick(waitForObjectItem(":Sketch_QMenu", "Distance"))
281     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
282     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
283     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
284
285     # if length!=0:
286         # type(waitForObject(":_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
287         # type(waitForObject(":_ModuleBase_ParamSpinBox"), length)
288
289     clickButton(waitForObject(":Distance.property_panel_cancel_QToolButton"))
290
291 def change_distance(point, value):
292     doubleClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
293     type(waitForObject(":Distance.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
294     type(waitForObject(":Distance.ConstraintValue_ModuleBase_ParamSpinBox"), value)
295     clickButton(waitForObject(":Distance.property_panel_ok_QToolButton"))
296
297 def parallel(point_1, point_2):
298     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
299     mouseClick(waitForObjectItem(":Sketch_QMenu", "Parallel"))
300     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
301     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
302     clickButton(waitForObject(":Parallel.property_panel_cancel_QToolButton_2"))
303
304 def perpendicular(point_1, point_2):
305     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
306     mouseClick(waitForObjectItem(":Sketch_QMenu", "Perpendicular"))
307
308     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
309     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
310
311     clickButton(waitForObject(":Perpendicular.property_panel_cancel_QToolButton"))
312
313 def coincident(point_1, point_2):
314     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
315     mouseClick(waitForObjectItem(":Sketch_QMenu", "Coincident"))
316     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
317     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
318     clickButton(waitForObject(":Coincident.property_panel_cancel_QToolButton"))
319
320 def equal(point_1, point_2):
321     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
322     mouseClick(waitForObjectItem(":Sketch_QMenu", "Equal"))
323     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
324     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
325     clickButton(waitForObject(":Equal.property_panel_cancel_QToolButton"))
326
327 def vertical(point):
328     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
329     mouseClick(waitForObjectItem(":Sketch_QMenu", "Vertical"))
330     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
331     clickButton(waitForObject(":Vertical.property_panel_cancel_QToolButton"))
332
333 def horizontal(point):
334     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
335     mouseClick(waitForObjectItem(":Sketch_QMenu", "Horizontal"))
336     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
337     clickButton(waitForObject(":Horizontal.property_panel_cancel_QToolButton"))
338
339 def fit_all():
340     clickButton(waitForObject(":SALOME*.Fit All_QToolButton"))
341
342 def boolean_select_operation_type(type):
343     real_name = "{container=':property_panel_dock.Operation type_QGroupBox' toolTip='%s' type='QToolButton' unnamed='1' visible='1'}" % type
344     clickButton(waitForObject(real_name))
345
346 def boolean_cut(main_object, tool_object):
347     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
348     mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
349
350     boolean_select_operation_type("Cut")
351
352     mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
353     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
354
355     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
356     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
357
358     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
359
360 def boolean_fuse(main_object, tool_object):
361     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
362     mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
363
364     boolean_select_operation_type("Fuse")
365
366     mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
367     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
368
369     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
370     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
371
372     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
373
374 def boolean_common(main_object, tool_object):
375     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
376     mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
377
378     boolean_select_operation_type("Common")
379
380     mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
381     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
382
383     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
384     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
385
386     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
387
388 def length(point, annotation_point):
389     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
390     mouseClick(waitForObjectItem(":Sketch_QMenu", "Length"))
391
392     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
393     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
394
395     clickButton(waitForObject(":Length.property_panel_cancel_QToolButton"))
396
397 def change_length(point, value):
398     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
399
400     type(waitForObject(":Length.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
401     type(waitForObject(":Length.ConstraintValue_ModuleBase_ParamSpinBox"), value)
402
403     clickButton(waitForObject(":Length.property_panel_ok_QToolButton"))
404
405 def radius(point, annotation_point):
406     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
407     mouseClick(waitForObjectItem(":Sketch_QMenu", "Radius"))
408
409     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
410     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
411
412     clickButton(waitForObject(":Radius.property_panel_cancel_QToolButton"))
413
414 def change_radius(point, value):
415     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
416
417     type(waitForObject(":Radius.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
418     type(waitForObject(":Radius.ConstraintValue_ModuleBase_ParamSpinBox"), value)
419
420     clickButton(waitForObject(":Radius.property_panel_ok_QToolButton"))
421
422 def tangent(point_1, point_2):
423     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
424     mouseClick(waitForObjectItem(":Sketch_QMenu", "Tangent"))
425
426     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
427     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
428
429     clickButton(waitForObject(":Tangent.property_panel_cancel_QToolButton"))
430
431 def partition(main_objects, tool_object):
432     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
433     mouseClick(waitForObjectItem(":_QMenu", "Partition"))
434
435     for main_object in main_objects:
436         mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 33554432, Qt.LeftButton)
437
438     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 83, 132, 0, Qt.LeftButton)
439     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
440     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
441
442 def plane(point, distance):
443     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
444     mouseClick(waitForObjectItem(":_QMenu", "Plane"))
445
446     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
447
448     type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
449     type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), 100)
450     type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), "<Return>")
451
452     clickButton(waitForObject(":Plane.property_panel_ok_QToolButton"))
453
454 def point(x, y, z):
455     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
456     mouseClick(waitForObjectItem(":_QMenu", "Point"))
457
458     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
459     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), x)
460
461     type(waitForObject(":Point.y_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
462     type(waitForObject(":Point.y_ModuleBase_ParamSpinBox"), y)
463
464     type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
465     type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), z)
466     type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), "<Return>")
467
468     clickButton(waitForObject(":Point.property_panel_ok_QToolButton"))
469
470 def axis(point_1, point_2):
471     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
472     mouseClick(waitForObjectItem(":_QMenu", "Axis"))
473
474     mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0] - 40, point_1[1] - 40, 80, 80, 1, Qt.LeftButton)
475     mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0] - 40, point_2[1] - 40, 80, 80, 1, Qt.LeftButton)
476
477     clickButton(waitForObject(":Axis.property_panel_ok_QToolButton"))
478
479
480
481
482
483
484
485