+/**
+* \ingroup GUI
+* Implementation of widget for shapes selection.
+* This type of widget can be defined in XML file with 'shape_selector' keyword.
+* For example:
+* \code
+* <shape_selector id="main_object"
+* label="Main object"
+* icon=":icons/cut_shape.png"
+* tooltip="Select an object solid"
+* shape_types="solid shell"
+* concealment="true"
+* />
+* \endcode
+* It can use following parameters:
+* - id - name of object attribute
+* - label - content of widget's label
+* - icon - icon which can be used instead label
+* - tooltip - the witget's tooltip text
+* - shape_types - list of shape types for selection.
+* Possible values: face, vertex, wire, edge, shell, solid
+* - object_types - types of selectable objects.
+* For today it supports only one type "construction"
+* which corresponds to ModelAPI_ResultConstruction object type
+* - concealment - hide or not hide selected object after operation
+*/
+class MODULEBASE_EXPORT ModuleBase_WidgetShapeSelector : public ModuleBase_WidgetValidated