Salome HOME
Refactor the transformation algorithms
[modules/shaper.git] / src / FeaturesPlugin / extrusioncut_widget.xml
old mode 100755 (executable)
new mode 100644 (file)
index 7e510b1..bbbf73d
-<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
-
 <source>
-  <groupbox title="Revolution">
-    <shape_selector id="main_objects"
-    label="Select an object"
-    icon=":icons/sketch.png"
-    tooltip="Select a destination element"
-    shape_types="face edge vertex"
-    default="&lt;sketch&gt;"
-  />
-  <shape_selector id="axis_object"
-                    icon=":icons/axis.png"
-                    label="Axis"
-                    tooltip="Select an edge for axis"
+  <groupbox title="Extrusion">
+    <sketch_launcher id="sketch"
+      attribute_list_id="base"
+      label="Select:&lt;br /&gt;
+1. Planar face of non-sketch object or a plane. Sketch creation will be started.&lt;br /&gt;
+2. An existing sketch face or contour. Extrusion will be filled by it.&lt;br /&gt;
+3. An existing result shape of kind: wires/edge/vertices. Extrusion will be filled by it."
+      shape_types="wires faces shells">
+      <validator id="FeaturesPlugin_ValidatorCompositeLauncher" parameters="base,Sketch"/>
+    </sketch_launcher>
+    <multi_selector id="base"
+      label="Select a sketch face"
+      icon="icons/Features/sketch.png"
+      tooltip="Select a sketch face"
+      shape_types="wires faces shells"
+      concealment="true">
+      <validator id="FeaturesPlugin_ValidatorBaseForGeneration" parameters="face,shell"/>
+    </multi_selector>
+    <shape_selector id="direction_object"
+                    icon="icons/Features/axis.png"
+                    label="Direction"
+                    tooltip="Select an edge for direction"
                     shape_types="edge"
-                    default="">
-    <validator id="GeomValidators_ShapeType" parameters="line"/>
+                    geometrical_selection="true"
+                    default="&lt;base normal&gt;">
+      <validator id="GeomValidators_ShapeType" parameters="empty,line"/>
     </shape_selector>
-    <groupbox title="From">
-    <shape_selector id="from_object"
-                    icon=":icons/plane.png"
-                    label="Plane face"
-                    tooltip="Select a planar face"
-                    shape_types="face"
-                    default="&lt;sketch&gt;">
-      <validator id="GeomValidators_Face" parameters="plane"/>
-    </shape_selector>
-    <doublevalue
-      id="from_size"
-      label="Angle"
-      min="0"
-      step="1.0"
-      default="0"
-      icon=":icons/angle_down.png"
-      tooltip="Height">
-    </doublevalue>
-  </groupbox>
-  <groupbox title="To">
-    <shape_selector id="to_object"
-                    icon=":icons/plane_inverted.png"
-                    label="Plane face"
-                    tooltip="Select a planar face"
-                    shape_types="face"
-                    default="&lt;sketch&gt;">
-      <validator id="GeomValidators_Face" parameters="plane"/>
-    </shape_selector>
-    <doublevalue
-      id="to_size"
-      label="Angle"
-      min="0"
-      step="1.0"
-      default="0"
-      icon=":icons/angle_down.png"
-      tooltip="Height">
-    </doublevalue>
-  </groupbox>
+    <toolbox id="CreationMethod">
+      <box id="BySizes" title="By sizes" icon="icons/Features/dimension_up_down_32x32.png">
+        <groupbox>
+          <doublevalue
+            id="to_size"
+            label="Size"
+            step="1.0"
+            default="0"
+            icon="icons/Features/dimension_up.png"
+            tooltip="To size">
+          </doublevalue>
+        </groupbox>
+        <groupbox>
+          <doublevalue
+            id="from_size"
+            label="Size"
+            step="1.0"
+            default="10"
+            icon="icons/Features/dimension_down.png"
+            tooltip="From size">
+          </doublevalue>
+        </groupbox>
+      </box>
+      <box id="ByPlanesAndOffsets" title="By bounding faces and offsets" icon="icons/Features/plane_inverted_32x32.png">
+        <groupbox title="From">
+          <shape_selector id="from_object"
+                          icon="icons/Features/plane.png"
+                          label="From face"
+                          tooltip="From face"
+                          shape_types="face"
+                          geometrical_selection="true"
+                          default="&lt;base sketch&gt;">
+            <validator id="FeaturesPlugin_ValidatorExtrusionBoundary"/>
+          </shape_selector>
+          <doublevalue id="from_offset"
+            label="Offset" step="1.0" default="0"
+            icon="icons/Features/dimension_up_down.png"
+            tooltip="Offset for bounding plane">
+          </doublevalue>
+        </groupbox>
+        <groupbox title="To">
+          <shape_selector id="to_object"
+                          icon="icons/Features/plane_inverted.png"
+                          label="To face"
+                          tooltip="To face"
+                          shape_types="face"
+                          geometrical_selection="true"
+                          default="&lt;base sketch&gt;">
+            <validator id="FeaturesPlugin_ValidatorExtrusionBoundary"/>
+          </shape_selector>
+          <doublevalue  id="to_offset"
+            label="Offset" step="1.0" default="0"
+            icon="icons/Features/dimension_up_down.png"
+            tooltip="Offset for bounding plane">
+          </doublevalue>
+        </groupbox>
+      </box>
+      <box id="ThroughAll" title="Through all" icon="icons/Features/extrusion_throughall_32x32.png">
+      </box>
+    </toolbox>
   </groupbox>
   <multi_selector id="main_objects"
     label="Cut from:"
-    icon=":icons/cut_shape.png"
-    tooltip="Select a sketch face"
-    type_choice="Solids">
+    icon="icons/Features/cut_shape.png"
+    tooltip="Objects to Cut"
+    shape_types="Objects"
+    use_choice="false"
+    concealment="true"
+    main_argument="true">
+    <validator id="GeomValidators_ShapeType" parameters="solid"/>
   </multi_selector>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,sketch_selection,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
+  <validator id="FeaturesPlugin_ValidatorExtrusionDir" parameters="base,direction_object"/>
+  <validator id="FeaturesPlugin_ValidatorBaseForGenerationSketchOrSketchObjects" parameters="base"/>
 </source>