Salome HOME
Meet the coding style (line length <= 100)
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
1 <!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 <plugin>
4   <workbench id="Sketch">
5     <group id="Linear geometry">
6       <feature
7         id="Sketch"
8         nested="SketchPoint SketchIntersectionPoint SketchLine
9                 SketchCircle SketchMacroCircle SketchArc SketchMacroArc
10                 SketchRectangle
11                 SketchProjection
12                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance
13                 SketchConstraintParallel SketchConstraintPerpendicular
14                 SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
15                 SketchConstraintEqual SketchConstraintTangent
16                 SketchFillet SketchConstraintSplit SketchTrim
17                 SketchConstraintCoincidence
18                 SketchConstraintMirror SketchConstraintAngle
19                 SketchMultiRotation SketchMultiTranslation
20                 SketchConstraintCollinear SketchConstraintMiddle"
21         when_nested="accept abort"
22         title="Sketch"
23         tooltip="Create sketch"
24         icon="icons/Sketch/sketch.png">
25         <sketch-start-label id="External" title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch">
26           <validator id="GeomValidators_Face" parameters="plane"/>
27         </sketch-start-label>
28         <label id="SolverDOF"/>
29         <label id="SolverError" styleSheet="color : red; font : bold"/>
30         <validator id="SketchPlugin_SolverErrorValidator"/>
31       </feature>
32
33       <!-- SketchPoint -->
34       <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png">
35         <sketch-2dpoint_selector id="PointCoordinates" accept_expressions="0" title="Point" tooltip="Point coordinates"
36                                  enable_value="enable_by_preferences"/>
37         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
38       </feature>
39
40       <!-- SketchLine -->
41       <feature id="SketchLine" title="Line" tooltip="Create line" icon="icons/Sketch/line.png">
42         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates"
43                                  enable_value="enable_by_preferences"/>
44         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"
45                                  enable_value="enable_by_preferences"/>
46         <labelvalue id="LineLength" accept_expressions="0" label="Length:" default="computed" icon="icons/Sketch/distance_value.png"
47                      tooltip="Line length" obligatory="0" enable_value="false"/>
48         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
49         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
50       </feature>
51     </group>
52     <group id="Circular geometry">
53       <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
54       <feature id="SketchCircle"
55                title="Circle"
56                tooltip="Create circle"
57                icon="icons/Sketch/circle.png"
58                internal="1">
59         <sketch-2dpoint_selector id="circle_center"
60                                  title="Center"
61                                  tooltip="Center coordinates"
62                                  accept_expressions="0"
63                                  enable_value="enable_by_preferences"/>
64         <labelvalue id="circle_radius"
65                     icon="icons/Sketch/radius.png"
66                     label="Radius:"
67                     tooltip="Set radius"
68                     default="computed"
69                     accept_expressions="0"
70                     enable_value="enable_by_preferences">
71         </labelvalue>
72         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
73       </feature>
74       <!-- SketchMacroCircle -->
75       <feature id="SketchMacroCircle"
76                icon="icons/Sketch/circle.png"
77                title="Circle"
78                tooltip="Create circle">
79         <toolbox id="circle_type" modified_in_edit="edit_circle_type">
80           <box id="circle_type_by_center_and_passed_points"
81                icon="icons/Sketch/circle_pt_rad_32x32.png"
82                title="Center and passed points">
83             <sketch-2dpoint_selector id="center_point"
84                                      reference_attribute="center_point_ref"
85                                      title="Center point"
86                                      tooltip="Center point coordinates"
87                                      accept_expressions="0"
88                                      enable_value="enable_by_preferences"/>
89             <sketch-2dpoint_selector id="passed_point"
90                                      reference_attribute="passed_point_ref"
91                                      title="Passed point"
92                                      tooltip="Passed point coordinates"
93                                      accept_expressions="0"
94                                      enable_value="enable_by_preferences">
95               <validator id="SketchPlugin_CirclePassedPointValidator"/>
96             </sketch-2dpoint_selector>
97             <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
98           </box>
99           <box id="circle_type_by_three_points"
100                icon="icons/Sketch/circle_3pt_32x32.png"
101                title="Three points">
102             <sketch-2dpoint_selector id="first_point"
103                                      reference_attribute="first_point_ref"
104                                      title="First point"
105                                      tooltip="First point"
106                                      accept_expressions="0"
107                                      enable_value="enable_by_preferences"/>
108             <sketch-2dpoint_selector id="second_point"
109                                      reference_attribute="second_point_ref"
110                                      title="Second point"
111                                      tooltip="Second point"
112                                      accept_expressions="0"
113                                      enable_value="enable_by_preferences">
114               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
115             </sketch-2dpoint_selector>
116             <sketch-2dpoint_selector id="third_point"
117                                      reference_attribute="third_point_ref"
118                                      title="Third point"
119                                      tooltip="Third point"
120                                      accept_expressions="0"
121                                      enable_value="enable_by_preferences">
122               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
123               <validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
124             </sketch-2dpoint_selector>
125             <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
126           </box>
127         </toolbox>
128         <labelvalue id="circle_radius"
129                     icon="icons/Sketch/radius.png"
130                     label="Radius:"
131                     tooltip="Set radius"
132                     default="computed"
133                     accept_expressions="0"
134                     obligatory="0"
135                     enable_value="enable_by_preferences">
136           <validator id="GeomValidators_Positive"/>
137         </labelvalue>
138         <boolvalue id="Auxiliary"
139                    tooltip="Construction element"
140                    label="Auxiliary"
141                    default="false"
142                    obligatory="0"/>
143       </feature>
144
145       <!-- SketchArc -->
146       <feature id="SketchArc"
147                icon="icons/Sketch/arc.png"
148                title="Arc"
149                tooltip="Create arc"
150                internal="1">
151         <sketch-2dpoint_selector id="center_point"
152                                  title="Center"
153                                  tooltip="Center of a circle"
154                                  accept_expressions="0"
155                                  enable_value="enable_by_preferences"/>
156         <sketch-2dpoint_selector id="start_point"
157                                  title="Start point"
158                                  tooltip="Start point"
159                                  accept_expressions="0"
160                                  enable_value="enable_by_preferences"/>
161         <sketch-2dpoint_selector id="end_point"
162                                  title="End point"
163                                  tooltip="End point"
164                                  accept_expressions="0"
165                                  enable_value="enable_by_preferences"/>
166         <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
167         <labelvalue id="radius"
168                     icon="icons/Sketch/radius.png"
169                     label="Radius:"
170                     tooltip="Set radius"
171                     accept_expressions="0"
172                     min="0"
173                     default="0"
174                     obligatory="0"
175                     enable_value="enable_by_preferences">
176         </labelvalue>
177         <labelvalue id="angle"
178                     icon="icons/Sketch/angle.png"
179                     label="Angle:"
180                     tooltip="Set angle"
181                     default="0"
182                     use_reset="false"
183                     obligatory="0"
184                     enable_value="enable_by_preferences"/>
185         <boolvalue id="Auxiliary"
186                    label="Auxiliary"
187                    tooltip="Construction element"
188                    default="false"
189                    obligatory="0"/>
190       </feature>
191
192       <!-- SketchMacroArc -->
193       <feature
194         id="SketchMacroArc"
195         title="Arc"
196         tooltip="Create arc"
197         icon="icons/Sketch/arc.png">
198         <toolbox id="arc_type" modified_in_edit="edit_arc_type">
199           <box id="by_center_and_points"
200                icon="icons/Sketch/arc_base_32x32.png"
201                title="Center and two points">
202             <sketch-2dpoint_selector id="center_point"
203                                      reference_attribute="center_point_ref"
204                                      title="Center point"
205                                      tooltip="Center of a circle"
206                                      accept_expressions="0"
207                                      enable_value="enable_by_preferences" />
208             <sketch-2dpoint_selector id="start_point_1"
209                                      reference_attribute="start_point_ref"
210                                      title="Start point"
211                                      tooltip="Start point"
212                                      accept_expressions="0"
213                                      enable_value="enable_by_preferences"/>
214             <sketch-2dpoint_selector id="end_point_1"
215                                      reference_attribute="end_point_ref"
216                                      title="End point"
217                                      tooltip="End point"
218                                      accept_expressions="0"
219                                      enable_value="enable_by_preferences">
220               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
221               <validator id="SketchPlugin_ArcEndPointIntersectionValidator" parameters="end_point_ref"/>
222             </sketch-2dpoint_selector>
223             <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
224           </box>
225           <box id="by_three_points"
226                icon="icons/Sketch/arc_3pt_32x32.png"
227                title="Three points on arc">
228             <sketch-2dpoint_selector id="start_point_2"
229                                      reference_attribute="start_point_ref"
230                                      title="Start point"
231                                      tooltip="Start point"
232                                      accept_expressions="0"
233                                      enable_value="enable_by_preferences"/>
234             <sketch-2dpoint_selector id="end_point_2"
235                                      reference_attribute="end_point_ref"
236                                      title="End point"
237                                      tooltip="End point"
238                                      accept_expressions="0"
239                                      enable_value="enable_by_preferences">
240               <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2"/>
241               <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
242             </sketch-2dpoint_selector>
243             <sketch-2dpoint_selector id="passed_point"
244                                      reference_attribute="passed_point_ref"
245                                      title="Passed point"
246                                      tooltip="Passed point"
247                                      accept_expressions="0"
248                                      enable_value="enable_by_preferences">
249               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
250               <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
251             </sketch-2dpoint_selector>
252             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
253           </box>
254           <box id="by_tangent_edge"
255                icon="icons/Sketch/arc_tang_32x32.png"
256                title="Tangent with edge">
257             <sketch_shape_selector id="tangent_point"
258                                    label="Tangent point"
259                                    tooltip="Select point on line"
260                                    shape_types="vertex">
261               <validator id="SketchPlugin_ArcTangentPoint"/>
262             </sketch_shape_selector>
263             <sketch-2dpoint_selector id="end_point_3"
264                                      reference_attribute="end_point_ref"
265                                      title="End point"
266                                      tooltip="End point"
267                                      accept_expressions="0"
268                                      enable_value="enable_by_preferences">
269               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
270             </sketch-2dpoint_selector>
271           </box>
272         </toolbox>
273         <labelvalue id="radius"
274                     icon="icons/Sketch/radius.png"
275                     label="Radius:"
276                     tooltip="Set radius"
277                     accept_expressions="0"
278                     min="0"
279                     default="0"
280                     obligatory="0"
281                     enable_value="enable_by_preferences">
282         </labelvalue>
283         <labelvalue id="angle"
284                     icon="icons/Sketch/angle.png"
285                     label="Angle:"
286                     tooltip="Set angle"
287                     default="0"
288                     use_reset="false"
289                     obligatory="0"
290                     enable_value="enable_by_preferences"/>
291         <boolvalue id="Auxiliary"
292                    label="Auxiliary"
293                    tooltip="Construction element"
294                    default="false"
295                    obligatory="0"/>
296       </feature>
297
298       <!--  SketchFillet  -->
299       <feature id="SketchFillet"
300                title="Fillet"
301                tooltip="Create constraint defining fillet between two objects"
302                icon="icons/Sketch/fillet.png">
303         <sketch_shape_selector id="fillet_point"
304                                label="Point"
305                                tooltip="Select point for fillet (should be shared by two entities only)"
306                                shape_types="vertex">
307           <validator id="SketchPlugin_FilletVertexValidator"/>
308         </sketch_shape_selector>
309         <!--<validator id="PartSet_FilletSelection"/>-->
310       </feature>
311       <!--  SketchConstraintSplit  -->
312       <feature id="SketchConstraintSplit" title="Split"
313                tooltip="Cut selected segment arc or circle on existing coincident points"
314                icon="icons/Sketch/split.png">
315         <sketch_sub_shape_selector
316             id="ConstraintValue"
317             label="Segment"
318             tooltip="Select segment for split"
319             shape_types="edge"
320             use_external="false"
321             use_graphic_intersection="false">
322           <validator id="SketchPlugin_SplitValidator"/>
323         </sketch_sub_shape_selector>
324         <validator id="PartSet_SplitSelection"/>
325       </feature>
326       <!--  SketchTrim  -->
327       <feature id="SketchTrim" title="Trim"
328                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
329                icon="icons/Sketch/trim.png">
330         <sketch_feature_point_selector
331             id="SelectedObject"
332             label="Segment"
333             tooltip="Select segment for trim"
334             shape_types="edge"
335             use_external="false"
336             use_graphic_intersection="true">
337           <validator id="SketchPlugin_TrimValidator"/>
338         </sketch_feature_point_selector>
339         <validator id="PartSet_SplitSelection"/>
340       </feature>
341     </group>
342
343     <group id="Projection">
344       <!-- Intersection Point -->
345       <!-- feature
346         id="SketchIntersectionPoint"
347         title="Intersection Point"
348         tooltip="Create intersection point"
349         icon="icons/Sketch/intersection_point.png">
350         <sketch_shape_selector
351               id="ExternalLine"
352               label="Edge"
353               tooltip="Select external line."
354               shape_types="edge"
355               use_external="false"
356               use_sketch_plane="false">
357           <validator id="GeomValidators_ShapeType" parameters="line"/>
358           <validator id="SketchPlugin_IntersectionValidator"/>
359         </sketch_shape_selector>
360       </feature -->
361
362       <!-- Projected feature -->
363       <feature
364         id="SketchProjection"
365         title="Projection"
366         tooltip="Project feature onto sketch plane"
367         icon="icons/Sketch/projection.png">
368         <sketch_shape_selector
369               id="ExternalFeature"
370               label="Edge"
371               tooltip="Select external edge."
372               shape_types="edge"
373               use_external="true"
374               can_create_external="false"
375               use_sketch_plane="false">
376           <validator id="SketchPlugin_ProjectionValidator"/>
377         </sketch_shape_selector>
378         <validator id="PartSet_ProjectionSelection"/>
379       </feature>
380     </group>
381
382     <group id="Replication">
383       <!--  SketchConstraintMirror  -->
384       <feature
385         id="SketchConstraintMirror"
386         title="Mirror" icon="icons/Sketch/mirror.png"
387         tooltip="Create constraint, mirroring group of objects">
388         <sketch_shape_selector id="ConstraintEntityA"
389             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
390           <validator id="GeomValidators_ShapeType" parameters="line"/>
391         </sketch_shape_selector>
392         <sketch_multi_selector id="ConstraintMirrorList"
393             label="Segments:"
394             tooltip="Select list of objects to be mirrored"
395             type_choice="Edges"
396             use_external="true"
397             greed ="true">
398           <validator id="SketchPlugin_MirrorAttr" />
399         </sketch_multi_selector>
400         <validator id="PartSet_MultyTranslationSelection" />
401       </feature>
402
403       <!--  SketchMultiTranslation  -->
404       <feature
405         id="SketchMultiTranslation"
406         title="Translation" icon="icons/Sketch/translate.png"
407         tooltip="Multiple translation">
408         <sketch_multi_selector id="MultiTranslationList"
409             label="Segments:"
410             tooltip="Select list of objects to be translated"
411             type_choice="Edges"
412             use_external="true"
413             greed ="true">
414           <validator id="SketchPlugin_CopyValidator" />
415         </sketch_multi_selector>
416         <toolbox id="ValueType">
417           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
418             <groupbox title="Direction">
419               <sketch_shape_selector
420                     id="MultiTranslationStartPoint"
421                     label="Start point"
422                     tooltip="Start point of translation"
423                     shape_types="vertex">
424                 <validator id="PartSet_DifferentObjects"/>
425                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
426               </sketch_shape_selector>
427               <sketch_shape_selector
428                     id="MultiTranslationEndPoint"
429                     label="End point"
430                     tooltip="Final point of translation"
431                     shape_types="vertex">
432                 <validator id="PartSet_DifferentObjects"/>
433                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
434               </sketch_shape_selector>
435             </groupbox>
436           </box>
437           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
438             <groupbox title="Direction">
439               <sketch_shape_selector
440                     id="MultiTranslationStartPoint"
441                     label="Start point"
442                     tooltip="Start point of translation"
443                     shape_types="vertex">
444                 <validator id="PartSet_DifferentObjects"/>
445                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
446               </sketch_shape_selector>
447               <sketch_shape_selector
448                     id="MultiTranslationEndPoint"
449                     label="End point"
450                     tooltip="Final point of translation"
451                     shape_types="vertex">
452                 <validator id="PartSet_DifferentObjects"/>
453                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
454               </sketch_shape_selector>
455             </groupbox>
456           </box>
457         </toolbox>
458         <integervalue id="MultiTranslationObjects"
459             label="Total number of objects"
460             tooltip="Total number of objects"
461             default="2" min="2" use_reset="false">
462           <validator id="GeomValidators_Positive"/>
463         </integervalue>
464         <validator id="PartSet_MultyTranslationSelection" />
465       </feature>
466
467       <!--  SketchMultiRotation  -->
468       <feature
469         id="SketchMultiRotation"
470         title="Rotation" icon="icons/Sketch/rotate.png"
471         tooltip="Multiple rotation">
472         <sketch_multi_selector id="MultiRotationList"
473             label="Segments:"
474             tooltip="Select list of objects to be rotated"
475             type_choice="Edges"
476             use_external="true"
477             greed ="true">
478           <validator id="SketchPlugin_CopyValidator" />
479         </sketch_multi_selector>
480         <sketch_shape_selector
481               id="MultiRotationCenter"
482               label="Center of rotation"
483               tooltip="Center of rotation"
484               shape_types="vertex">
485           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
486         </sketch_shape_selector>
487         <toolbox id="AngleType">
488           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
489             <doublevalue id="MultiRotationAngle"
490                          label="Angle"
491                          icon="icons/Sketch/angle.png"
492                          tooltip="Rotation angle"
493                          default="90" use_reset="false"/>
494           </box>
495           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
496             <doublevalue id="MultiRotationAngle"
497                          label="Angle"
498                          icon="icons/Sketch/angle.png"
499                          tooltip="Rotation angle"
500                          default="90" use_reset="false"/>
501           </box>
502         </toolbox>
503         <integervalue id="MultiRotationObjects"
504             label="Total number of objects"
505             tooltip="Total number of objects"
506             default="2" min="2" use_reset="false">
507           <validator id="GeomValidators_Positive"/>
508         </integervalue>
509         <validator id="PartSet_MultyTranslationSelection" />
510       </feature>
511     </group>
512
513     <group id="Dimensional constraints">
514     <!--  SketchConstraintDistance  -->
515       <feature
516         id="SketchConstraintDistance"
517         title="Distance"
518         tooltip="Set fixed distance from a point to an object"
519         icon="icons/Sketch/distance.png">
520         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
521         <sketch_shape_selector
522               id="ConstraintEntityA"
523               label="First object"
524               tooltip="Select point, line end point, line, center of circle or arc."
525               shape_types="edge vertex">
526           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
527           <validator id="PartSet_DifferentObjects"/>
528           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
529         </sketch_shape_selector>
530         <sketch_shape_selector
531           id="ConstraintEntityB"
532           label="Second object"
533           tooltip="Select point, line end point, line, center of circle or arc."
534           shape_types="edge vertex">
535           <validator id="PartSet_DifferentObjects"/>
536           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
537           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
538           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
539         </sketch_shape_selector>
540         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
541
542         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
543           <validator id="GeomValidators_Positive"/>
544         </doublevalue_editor>
545
546         <validator id="PartSet_DistanceSelection"/>
547       </feature>
548
549     <!--  SketchConstraintLength  -->
550       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
551         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
552         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
553           <validator id="GeomValidators_ShapeType" parameters="line"/>
554         </shape_selector>
555         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
556         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
557           <validator id="GeomValidators_Positive"/>
558         </doublevalue_editor>
559         <validator id="PartSet_LengthSelection"/>
560       </feature>
561
562       <!--  SketchConstraintAngle  -->
563       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
564         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
565           <validator id="GeomValidators_ShapeType" parameters="line"/>
566           <validator id="PartSet_DifferentObjects"/>
567           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
568         </sketch_shape_selector>
569         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
570           <validator id="GeomValidators_ShapeType" parameters="line"/>
571           <validator id="PartSet_DifferentObjects"/>
572           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
573         </sketch_shape_selector>
574         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
575         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
576         <validator id="PartSet_AngleSelection"/>
577         <module_choice id="AngleType"
578           widget_type="radiobuttons"
579           buttons_dir="horizontal"
580           label="Angle type"
581           tooltip="Type of angle"
582           string_list="Direct Complementary Additional"
583           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
584           default="0"
585           />
586       </feature>
587
588       <!--  SketchConstraintRadius  -->
589       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
590         <label title="Select a circle or an arc on which to calculate radius" tooltip="Select a circle or an arc on which to calculate radius"/>
591         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
592             shape_types="edge">
593           <validator id="GeomValidators_ShapeType" parameters="circle"/>
594         </shape_selector>
595         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
596         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
597           <validator id="GeomValidators_Positive"/>
598         </doublevalue_editor>
599         <validator id="PartSet_RadiusSelection"/>
600       </feature>
601
602     </group>
603
604     <group id="Geometrical constraints">
605
606       <!--  SketchConstraintHorizontal  -->
607       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
608         <sketch_shape_selector id="ConstraintEntityA"
609             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
610           <validator id="GeomValidators_ShapeType" parameters="line"/>
611           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal, SketchConstraintVertical"/>
612         </sketch_shape_selector>
613         <validator id="PartSet_HVDirSelection"/>
614       </feature>
615
616       <!--  SketchConstraintVertical  -->
617       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
618         <sketch_shape_selector id="ConstraintEntityA"
619             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
620           <validator id="GeomValidators_ShapeType" parameters="line"/>
621           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal, SketchConstraintVertical"/>
622         </sketch_shape_selector>
623         <validator id="PartSet_HVDirSelection"/>
624       </feature>
625
626       <!--  SketchConstraintRigid  -->
627       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
628         <sketch_shape_selector id="ConstraintEntityA" label="Object"
629                         tooltip="Select point, line end point, line, center of circle or arc."
630                         shape_types="edge vertex">
631           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
632           <validator id="SketchPlugin_NotFixed"/>
633         </sketch_shape_selector>
634         <validator id="PartSet_RigidSelection"/>
635       </feature>
636
637       <!--  SketchConstraintParallel  -->
638       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
639                icon="icons/Sketch/parallel.png">
640         <sketch_shape_selector id="ConstraintEntityA"
641             label="First line" tooltip="Select a line" shape_types="edge">
642           <validator id="GeomValidators_ShapeType" parameters="line"/>
643           <validator id="PartSet_DifferentObjects"/>
644           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
645         </sketch_shape_selector>
646
647         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
648             shape_types="edge">
649             <validator id="GeomValidators_ShapeType" parameters="line"/>
650             <validator id="PartSet_DifferentObjects"/>
651             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
652         </sketch_shape_selector>
653         <validator id="PartSet_ParallelSelection"/>
654       </feature>
655
656     <!--  SketchConstraintPerpendicular  -->
657       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
658         tooltip="Create constraint defining two perpendicular lines"
659         icon="icons/Sketch/perpendicular.png">
660         <sketch_shape_selector id="ConstraintEntityA"
661             label="First line" tooltip="Select a line"
662             shape_types="edge">
663           <validator id="PartSet_DifferentObjects"/>
664           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
665             <validator id="GeomValidators_ShapeType" parameters="line"/>
666         </sketch_shape_selector>
667
668         <sketch_shape_selector id="ConstraintEntityB"
669             label="Second line" tooltip="Select a line"
670             shape_types="edge">
671             <validator id="PartSet_DifferentObjects"/>
672           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
673             <validator id="GeomValidators_ShapeType" parameters="line"/>
674         </sketch_shape_selector>
675         <validator id="PartSet_PerpendicularSelection"/>
676       </feature>
677
678       <!--  SketchConstraintTangent  -->
679       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
680         <sketch_shape_selector id="ConstraintEntityA"
681             label="First object" tooltip="Select line or arc" shape_types="edge">
682           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
683           <validator id="PartSet_DifferentObjects"/>
684         </sketch_shape_selector>
685
686         <sketch_shape_selector id="ConstraintEntityB"
687             label="Second object" tooltip="Select line or arc" shape_types="edge">
688           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
689           <validator id="PartSet_DifferentObjects"/>
690         </sketch_shape_selector>
691         <validator id="PartSet_TangentSelection"/>
692       </feature>
693
694       <!--  SketchConstraintCoincidence  -->
695       <feature id="SketchConstraintCoincidence" title="Coincident" tooltip="Create constraint for the coincidence of two points or point on line or circle" icon="icons/Sketch/coincedence.png">
696         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
697           <validator id="PartSet_DifferentObjects"/>
698           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
699         </sketch_shape_selector>
700         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
701           <validator id="PartSet_DifferentObjects"/>
702           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
703           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
704         </sketch_shape_selector>
705         <validator id="PartSet_CoincidentSelection"/>
706       </feature>
707
708       <!--  SketchConstraintMiddle  -->
709       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
710         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
711           <validator id="PartSet_DifferentObjects"/>
712           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
713           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
714         </sketch_shape_selector>
715         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
716           <validator id="PartSet_DifferentObjects"/>
717           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
718           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
719         </sketch_shape_selector>
720         <validator id="PartSet_MiddlePointSelection"/>
721       </feature>
722
723       <!--  SketchConstraintEqual  -->
724       <feature id="SketchConstraintEqual" title="Equal"
725         tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radii of two arcs or two circles or arc and circle"
726         icon="icons/Sketch/equal.png">
727         <sketch_shape_selector id="ConstraintEntityA"
728             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
729           <validator id="PartSet_DifferentObjects"/>
730           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
731         </sketch_shape_selector>
732
733         <sketch_shape_selector id="ConstraintEntityB"
734             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
735           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
736           <validator id="PartSet_DifferentObjects"/>
737           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
738         </sketch_shape_selector>
739         <validator id="PartSet_EqualSelection"/>
740       </feature>
741
742     <!--  SketchConstraintCollinear  -->
743       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
744         <sketch_shape_selector id="ConstraintEntityA"
745             label="First line" tooltip="Select a line" shape_types="edge">
746           <validator id="GeomValidators_ShapeType" parameters="line"/>
747           <validator id="PartSet_DifferentObjects"/>
748         </sketch_shape_selector>
749
750         <sketch_shape_selector id="ConstraintEntityB"
751             label="Second line" tooltip="Select a line" shape_types="edge">
752           <validator id="GeomValidators_ShapeType" parameters="line"/>
753           <validator id="PartSet_DifferentObjects"/>
754         </sketch_shape_selector>
755         <validator id="PartSet_CollinearSelection"/>
756       </feature>
757
758     </group>
759
760   </workbench>
761 </plugin>