Salome HOME
Implementation of the Feature Validator
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
index f5d7507d3fb82a5b5fa0cfc820c44ebeb808b46e..b343b57cadbe90f35a4dc40274b037579d317ee7 100644 (file)
@@ -1,34 +1,89 @@
 <plugin>
   <workbench id="Sketch">
     <group id="Basic">
-      <feature id="Sketch" nested="SketchPoint SketchLine SketchCircle SketchConstraintLength" title="Sketch" tooltip="Create a new sketch or edit an existing sketch" icon=":icons/sketch.png">
-        <label title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch"/> 
+      <feature id="Sketch" nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular" title="Sketch" tooltip="Create a new sketch or edit an existing sketch" icon=":icons/sketch.png">
+        <sketch-start-label title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch"/> 
       <!--icon=":pictures/x_point.png"-->
       </feature>
       <feature id="SketchPoint" title="Point" tooltip="Create a new point" icon=":icons/point.png">
         <point_selector id="PointCoordindates" title="Point" tooltip="Point"/>
       </feature>
       <feature id="SketchLine" title="Line" tooltip="Create a new line" icon=":icons/line.png">
-        <point_selector id="StartPoint" title="Start point" tooltip="Start point of the line"/>
+        <point_selector id="StartPoint" title="Start point" tooltip="Start point of the line" previous_feature_param="EndPoint"/>
         <point_selector id="EndPoint" title="End point" tooltip="End point of the line"/>
+        <validator id="Model_FeatureValidator" />
       </feature>
-      <feature id="SketchCircle" title="Circle" tooltip="Create a new circle" icon="">
+      <feature id="SketchCircle" title="Circle" tooltip="Create a new circle" icon=":icons/circle.png">
         <point_selector id="CircleCenter" title="Center" tooltip="Center of the circle"/>
-        <doublevalue id="CircleRadius" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set Radius"/>
+        <point2ddistance id="CircleRadius" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set Radius"/>
       </feature>
-      <feature id="SketchArc" title="Arc" tooltip="Create a new arc of a circle" icon="" internal="1">
+      <feature id="SketchArc" title="Arc" tooltip="Create a new arc of a circle" icon=":icons/arc.png">
         <point_selector id="ArcCenter" title="Center" tooltip="Center of the arc"/>
         <point_selector id="ArcStartPoint" title="Start point" tooltip="Start point of the arc"/>
         <point_selector id="ArcEndPoint" title="End point" tooltip="End point of the arc"/>
       </feature>
-      <feature id="SketchConstraintCoincidence" title="Points coincidence" tooltip="Create constraint for the coincidence of two points" internal="1"/>
-      <feature id="SketchConstraintDistance" title="Distance between objects" tooltip="Create constraint for the distance from a point to an object" internal="1"/>
-      <feature id="SketchConstraintLength" title="Length of a line" tooltip="Create constraint for the given length of a line segment">
-        <label title="Select a line entity on which to calculate lenght" tooltip="Select a line entity on which to calculate lenght"/>
+    </group>
+         
+    <group id="Constraints">
+      <feature id="SketchConstraintCoincidence" title="Coincident" tooltip="Create constraint for the coincidence of two points" internal="1"/>
+
+      <feature id="SketchConstraintDistance" title="Distance" tooltip="Create constraint for the distance from a point to an object">
+        <label title="Select point and another feature (point or point on line) between which to calculate distance" tooltip="Select point and another feature (point or point on line) between which to calculate distance"/>
+        <feature_or_attribute_selector id="ConstraintEntityA" label="First object" tooltip="Select an point in the viewer">
+          <validator id="Model_ResultPointValidator"/>
+          <validator id="Model_ResultLineValidator"/>
+        </feature_or_attribute_selector>
+        <feature_or_attribute_selector id="ConstraintEntityB" label="Last object" tooltip="Select an point in the viewer">
+          <validator id="Model_ResultPointValidator"/>
+          <validator id="Model_ResultLineValidator"/>
+          <validator id="SketchPlugin_DistanceAttrValidator" parameters="ConstraintEntityA"/>
+        </feature_or_attribute_selector>
+        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
+        <doublevalue_editor label="Value" tooltip="Constraint value" id="ConstraintValue"/>
+        <validator id="PartSet_DistanceValidator"/>
+      </feature>
+      
+      <feature id="SketchConstraintLength" title="Length" tooltip="Create constraint for the given length of a line segment">
+        <label title="Select a line on which to calculate lenght" tooltip="Select a line on which to calculate lenght"/>
+        <feature_selector id="ConstraintEntityA" label="Line" tooltip="Select an line in the viewer">
+          <validator id="Model_ResultLineValidator"/>
+        </feature_selector>
+        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
+        <doublevalue_editor label="Value" tooltip="Constraint value" id="ConstraintValue"/>
+        <validator id="PartSet_LengthValidator"/> 
+      </feature>
+      
+      <feature id="SketchConstraintRadius" title="Radius" tooltip="Create constraint for the given radius of a circle or an arc">
+        <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"/>
+        <feature_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc in the viewer">
+          <validator id="Model_ResultArcValidator"/>
+        </feature_selector>
+        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
+        <doublevalue_editor label="Value" tooltip="Constraint value" id="ConstraintValue"/>
+        <validator id="PartSet_RadiusValidator"/>
+      </feature>
+      
+      <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines">
+        <feature_selector id="ConstraintEntityA" label="First line" tooltip="Select an line in the viewer">
+          <validator id="Model_ResultLineValidator"/>
+        </feature_selector>
+        <feature_selector id="ConstraintEntityB" label="Last line" tooltip="Select an line in the viewer">
+          <validator id="Model_ResultLineValidator"/>
+        </feature_selector>
+        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
+        <validator id="PartSet_ParallelValidator"/>
+      </feature>
+      
+      <feature id="SketchConstraintPerpendicular" title="Perpendicular" tooltip="Create constraint defining two perpendicular lines">
+        <feature_selector id="ConstraintEntityA" label="First line" tooltip="Select an line in the viewer">
+          <validator id="Model_ResultLineValidator"/>
+        </feature_selector>
+        <feature_selector id="ConstraintEntityB" label="Last line" tooltip="Select an line in the viewer">
+          <validator id="Model_ResultLineValidator"/>
+        </feature_selector>
+        <point_selector id="ConstraintFlyoutValuePnt" internal="1"/>
+        <validator id="PartSet_PerpendicularValidator"/>
       </feature>
-      <feature id="SketchConstraintRadius" title="Radius of a circle or an arc" tooltip="Create constraint for the given radius of a circle or an arc" internal="1"/>
-      <feature id="SketchConstraintParallel" title="Parallelism of a lines" tooltip="Create constraint defining two parallel lines" internal="1"/>
-      <feature id="SketchConstraintPerpendicular" title="Orthgonality of a lines" tooltip="Create constraint defining two perpendicular lines" internal="1"/>
     </group>
   </workbench>
 </plugin>