Salome HOME
Issue #462 - Fillet constraint - preselection works wrong. Correction to do not allow...
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
index 2691caeba4374ef605c898c9b71490321f2926d8..13fd7bfcf4b915247bfa6b6d7d1e532ecedbbda7 100644 (file)
@@ -5,7 +5,7 @@
     <group id="Basic">
       <feature
         id="Sketch"
-        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence"
+        nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror"
         when_nested="accept abort"
         title="Sketch"
         tooltip="Create a new sketch"
@@ -57,7 +57,7 @@
         </sketch_shape_selector>/>
         <sketch_shape_selector 
           id="ConstraintEntityB" 
-          label="Last object" 
+          label="Second object" 
           tooltip="Select point, line end point, line, center of circle or arc." 
           shape_types="edge vertex">
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
           <validator id="GeomValidators_EdgeOrVertex"/>
         </sketch_shape_selector>
- <!--
- TODO(nds): v1.0.2, master  
-                           shape_types="edge vertex">
-                       <validator id="PartSet_DifferentObjects"/>
-      <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
-      <selection_filter id="MultiFilter" parameters="line,vertex"/>
-    </sketch_shape_selector>
-               
-        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" internal="1" obligatory="0"/>
- -->
-        
         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
         
         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
           <validator id="GeomValidators_Positive"/>
         </doublevalue_editor>
         
-        <validator id="PartSet_DistanceValidator"/>
+        <validator id="PartSet_DistanceSelection"/>
       </feature>
       
     <!--  SketchConstraintLength  -->      
@@ -96,7 +85,7 @@
         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
           <validator id="GeomValidators_Positive"/>
         </doublevalue_editor>
-        <validator id="PartSet_LengthValidator"/>
+        <validator id="PartSet_LengthSelection"/>
       </feature>
       
     <!--  SketchConstraintRadius  -->
         </shape_selector>
         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed"/>
-        <validator id="PartSet_RadiusValidator"/>
+        <validator id="PartSet_RadiusSelection"/>
       </feature>
       
     <!--  SketchConstraintParallel  -->
       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines" icon=":icons/parallel.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+        <sketch_shape_selector id="ConstraintEntityA" 
             label="First line" tooltip="Select a line" shape_types="edge">
-            <validator id="GeomValidators_Edge" parameters="line"/>
-            <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
-        </sketch_constraint_shape_selector>
+          <validator id="GeomValidators_Edge" parameters="line"/>
+          <validator id="PartSet_DifferentObjects"/>
+          <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+        </sketch_shape_selector>
         
-        <sketch_constraint_shape_selector id="ConstraintEntityB" label="Last line" tooltip="Select a line" 
+        <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line" 
             shape_types="edge">
             <validator id="GeomValidators_Edge" parameters="line"/>
             <validator id="PartSet_DifferentObjects"/>
             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
-        </sketch_constraint_shape_selector>
-        
-<!--  
-  TODO(nds): v1.0.2, master  
-               <sketch_constraint_shape_selector id="ConstraintEntityA" 
-                       label="First line" tooltip="Select a line" shape_types="edge">
-                       <selection_filter id="EdgeFilter" parameters="line"/>
-               </sketch_constraint_shape_selector>
-               
-               <sketch_constraint_shape_selector id="ConstraintEntityB" label="Last line" tooltip="Select a line" 
-                       shape_types="edge">
-                       <selection_filter id="EdgeFilter" parameters="line"/>
-                       <validator id="PartSet_DifferentObjects"/>
-               </sketch_constraint_shape_selector>
-               
-        <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" internal="1" obligatory="0"/>
--->
-        <validator id="PartSet_ParallelValidator"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_ParallelSelection"/>
       </feature>
       
     <!--  SketchConstraintPerpendicular  -->
       <feature id="SketchConstraintPerpendicular" title="Perpendicular" 
         tooltip="Create constraint defining two perpendicular lines" 
         icon=":icons/perpendicular.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+        <sketch_shape_selector id="ConstraintEntityA" 
             label="First line" tooltip="Select an line" 
             shape_types="edge">
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
             <validator id="GeomValidators_Edge" parameters="line"/>
-        </sketch_constraint_shape_selector>
+        </sketch_shape_selector>
         
-        <sketch_constraint_shape_selector id="ConstraintEntityB" 
-            label="Last line" tooltip="Select an line" 
+        <sketch_shape_selector id="ConstraintEntityB" 
+            label="Second line" tooltip="Select an line" 
             shape_types="edge">
             <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
             <validator id="GeomValidators_Edge" parameters="line"/>
-        </sketch_constraint_shape_selector>
-<!--  
-  TODO(nds): v1.0.2, master
-               <sketch_constraint_shape_selector id="ConstraintEntityA" 
-                       label="First line" tooltip="Select an line" 
-                       shape_types="edge">
-      <selection_filter id="EdgeFilter" parameters="line"/>
-    </sketch_constraint_shape_selector>
-               
-               <sketch_constraint_shape_selector id="ConstraintEntityB" 
-                       label="Last line" tooltip="Select an line" 
-                       shape_types="edge">
-                       <validator id="PartSet_DifferentObjects"/>
-      <selection_filter id="EdgeFilter" parameters="line"/>
-    </sketch_constraint_shape_selector>
--->
-        <validator id="PartSet_PerpendicularValidator"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_PerpendicularSelection"/>
       </feature>
 
       <!--  SketchConstraintCoincedence  -->
         <sketch_shape_selector id="ConstraintEntityB" label="Second point" tooltip="Select a second point" shape_types="vertex">
           <validator id="PartSet_DifferentObjects"/>
         </sketch_shape_selector>
+        <validator id="PartSet_CoincidentSelection"/>
       </feature>
 
       <!--  SketchConstraintRigid  -->
         <shape_selector id="ConstraintEntityA" label="Object" tooltip="Select an object" 
             shape_types="edge vertex">
           <validator id="PartSet_SketchEntityValidator" parameters="SketchPoint,SketchLine,SketchCircle,SketchArc"/>
+          <validator id="SketchPlugin_NotFixed"/>
         </shape_selector>
-        <validator id="PartSet_RigidValidator"/>
+        <validator id="PartSet_RigidSelection"/>
       </feature>
       
     <!--  SketchConstraintHorizontal  -->
       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon=":icons/horisontal.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
-            label="Line" tooltip="Select a line" shape_types="edge">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
             <validator id="GeomValidators_Edge" parameters="line"/>
-        </sketch_constraint_shape_selector>
+        </sketch_shape_selector>
+        <validator id="PartSet_HVDirSelection"/>
       </feature>
       
     <!--  SketchConstraintVertical  -->
       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon=":icons/vertical.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
-            label="Line" tooltip="Select a line" shape_types="edge">
+        <sketch_shape_selector id="ConstraintEntityA" 
+            label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
             <validator id="GeomValidators_Edge" parameters="line"/>
-        </sketch_constraint_shape_selector>
+        </sketch_shape_selector>
+        <validator id="PartSet_HVDirSelection"/>
       </feature>
       
     <!--  SketchConstraintEqual  -->
-      <feature id="SketchConstraintEqual" title="Equal" tooltip="Create constraint defining equality of two objects" icon=":icons/equal.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+      <feature id="SketchConstraintEqual" title="Equal"
+        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"
+        icon=":icons/equal.png">
+        <sketch_shape_selector id="ConstraintEntityA" 
             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
-        </sketch_constraint_shape_selector>
+        </sketch_shape_selector>
         
-        <sketch_constraint_shape_selector id="ConstraintEntityB"
-            label="Last object" tooltip="Select line, circle or arc" shape_types="edge">
-        </sketch_constraint_shape_selector>
+        <sketch_shape_selector id="ConstraintEntityB"
+            label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
+          <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
       </feature>
       
     <!--  SketchConstraintTangent  -->
       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects" icon=":icons/tangent.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+        <sketch_shape_selector id="ConstraintEntityA" 
             label="First object" tooltip="Select line or arc" shape_types="edge">
-        </sketch_constraint_shape_selector>
+        </sketch_shape_selector>
         
-        <sketch_constraint_shape_selector id="ConstraintEntityB"
-            label="Last object" tooltip="Select line or arc" shape_types="edge">
-        </sketch_constraint_shape_selector>
+        <sketch_shape_selector id="ConstraintEntityB"
+            label="Second object" tooltip="Select line or arc" shape_types="edge">
+        <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
+        <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
+        <validator id="PartSet_TangentSelection"/>
       </feature>
       
-    <!--  SketchConstraintMirror  -->
-      <feature
-        id="SketchConstraintMirror"
-        title="Mirror"
-        tooltip="Create constraint mirroring group of objects"
-        internal="1" />
+         
     </group>
     
     <group id="Edit">
       <!--  SketchConstraintFillet  -->
       <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
-        <sketch_constraint_shape_selector id="ConstraintEntityA" 
+        <sketch_shape_selector id="ConstraintEntityA" 
             label="First object" tooltip="Select line or arc" shape_types="edge">
-        </sketch_constraint_shape_selector>
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
 
-        <sketch_constraint_shape_selector id="ConstraintEntityB"
-            label="Last object" tooltip="Select line or arc" shape_types="edge">
-        </sketch_constraint_shape_selector>
+        <sketch_shape_selector id="ConstraintEntityB"
+            label="Second object" tooltip="Select line or arc" shape_types="edge">
+          <validator id="PartSet_DifferentObjects"/>
+        </sketch_shape_selector>
 
-        <doublevalue_editor label="Value" tooltip="Fillet radius" id="ConstraintValue" default="0" min="0">
+        <doublevalue label="Value" tooltip="Fillet radius" id="ConstraintValue" min="0">
           <validator id="GeomValidators_Positive"/>
-        </doublevalue_editor>
+        </doublevalue>
+        <validator id="PartSet_FilletSelection"/>
+      </feature>
+      
+      <!--  SketchConstraintMirror  -->
+      <feature
+        id="SketchConstraintMirror"
+        title="Mirror" icon=":icons/mirror.png"
+        tooltip="Create constraint, mirroring group of objects">
+        <sketch_shape_selector id="ConstraintEntityA"
+            label="Mirror line" tooltip="Select mirror line" shape_types="edge">
+            <validator id="GeomValidators_Edge" parameters="line"/>
+        </sketch_shape_selector>
+        <multi_selector id="ConstraintMirrorList"
+            label="List of objects"
+            tooltip="Select list of mirroring objects"
+            type_choice="Edges">
+            <validator id="SketchPlugin_MirrorAttr" />
+        </multi_selector>
       </feature>
     </group>
   </workbench>