SHAPER  9.12.0
PartSet_WidgetFeaturePointSelector Class Reference

Customosation of PartSet_WidgetFeaturePointSelector in order to visualize sub-shape by mouse move over shape in the viewer. More...

Inheritance diagram for PartSet_WidgetFeaturePointSelector:
Inheritance graph

Public Types

enum  ValueState { Stored , ModifiedInPP , ModifiedInViewer , Reset }
 State of the widget. More...
 
enum  EnableState { On , Off , DefinedInPreferences }
 the value is reset More...
 

Signals

void beforeValuesChanged ()
 The signal about widget values are to be changed. More...
 
void valuesChanged ()
 The signal about widget values changed. More...
 
void valuesModified ()
 The signal about widget values modified. More...
 
void afterValuesChanged ()
 The signal about widget values are to be changed. More...
 
void beforeValuesRestored ()
 The signal about widget values are to be restored. More...
 
void afterValuesRestored ()
 The signal about widget values are to be restored. More...
 
void keyReleased (QObject *theObject, QKeyEvent *theEvent)
 The signal about key release on the control, that corresponds to the attribute. More...
 
void enterClicked (QObject *theObject)
 The signal is emitted if the enter is clicked in the control of the widget. More...
 
void focusInWidget (ModuleBase_ModelWidget *theWidget)
 The signal about the widget is get focus. More...
 
void focusOutWidget (ModuleBase_ModelWidget *theWidget)
 The signal about the widget is lost focus. More...
 
void valueStateChanged (int theState)
 The signal about value state modification. More...
 
void objectUpdated ()
 The signal is emitted after flush of updates singal for the widget. More...
 

Public Member Functions

 PartSet_WidgetFeaturePointSelector (QWidget *theParent, ModuleBase_IWorkshop *theWorkshop, const Config_WidgetAPI *theData)
 Constructor. More...
 
virtual bool isValidSelection (const std::shared_ptr< ModuleBase_ViewerPrs > &theValue)
 Checks all widget validator if the owner is valid. More...
 
void setSketcher (CompositeFeaturePtr theSketch)
 Set sketcher. More...
 
CompositeFeaturePtr sketch () const
 Retrurns installed sketcher. More...
 
virtual void deactivate ()
 The methiod called when widget is deactivated. More...
 
virtual void mouseMoved (ModuleBase_IViewWindow *theWindow, QMouseEvent *theEvent)
 Processing the mouse move event in the viewer. More...
 
virtual void mouseReleased (ModuleBase_IViewWindow *theWindow, QMouseEvent *theEvent)
 Processing the mouse release event in the viewer. More...
 
virtual bool setSelectionCustom (const ModuleBase_ViewerPrsPtr &thePrs)
 Fills the attribute with the value of the selected owner. More...
 
virtual void setPreSelection (const ModuleBase_ViewerPrsPtr &thePreSelected, ModuleBase_IViewWindow *theWnd, QMouseEvent *theEvent)
 Fill preselection used in mouseReleased. More...
 
virtual bool setSelection (QList< std::shared_ptr< ModuleBase_ViewerPrs >> &theValues, const bool theToValidate)
 Set the given wrapped value to the current widget This value should be processed in the widget according to the needs The method is called by the current operation to process the operation preselection. More...
 
virtual QList< QWidget * > getControls () const
 Returns list of widget controls. More...
 
virtual bool isModified () const
 Returns True if data of its feature was modified during operation. More...
 
virtual void selectionModes (int &theModuleSelectionModes, QIntList &theModes)
 Fills given container with selection modes if the widget has it. More...
 
virtual bool isViewerSelector ()
 Defines if it is supposed that the widget should interact with the viewer. More...
 
virtual void updateSelectionModesAndFilters (bool toActivate)
 Activate or deactivate selection and selection filters. More...
 
virtual bool isValidSelectionCustom (const std::shared_ptr< ModuleBase_ViewerPrs > &thePrs)
 Checks the widget validity. More...
 
virtual bool isWholeResultAllowed () const
 
ObjectPtr findPresentedObject (const AISObjectPtr &theAIS) const
 Returns data object by AIS. More...
 
void clearValidatedCash ()
 Clear all validated cash in the widget. More...
 
bool isFilterActivated () const
 Returns true if the workshop validator filter has been already activated. More...
 
virtual void selectionFilters (QIntList &theModuleSelectionFilters, SelectMgr_ListOfFilter &theSelectionFilters)
 Appends into container of workshop selection filters. More...
 
bool reset ()
 Fills the widget with default values. More...
 
bool isInitialized (ObjectPtr theObject) const
 Returns the state whether the attribute of the feature is initialized. More...
 
bool isComputedDefault () const
 Returns true, if default value of the widget should be computed on operation's execute, like radius for circle's constraint (can not be zero) More...
 
std::string getDefaultValue () const
 Returns true, if default value of the widget is defined in the XML and it is not the computed value. More...
 
bool isInternal () const
 Returns true, if widget is internal. More...
 
bool isObligatory () const
 Returns true, if the obligatory value of the widget is not defined in the XML or has true value. More...
 
virtual bool isValueEnabled () const
 Returns true, if the widget value is enabled and might be modified manualy. More...
 
bool isUseReset () const
 Returns this parameter value in the xml file. More...
 
std::string isModifiedInEdit () const
 Returns this parameter value in the xml file. More...
 
ValueState getValueState () const
 Returns this widget value state. More...
 
void processValueState ()
 Stores the widget value if it is modified. More...
 
Events_InfoMessage getValueStateError () const
 Returns an attribute error according to the value state It exists in all cases excepring the "Store" case. More...
 
virtual bool canAcceptFocus () const
 Defines if it is supported to set the value in this widget By default it returns true. More...
 
virtual QString getError (const bool theValueStateChecked=true) const
 Returns the widget error, get it from the attribute validator and state of the widget If the feature is correct, it returns an empty value. More...
 
virtual void getHighlighted (QList< std::shared_ptr< ModuleBase_ViewerPrs >> &theValues)
 Returns values which should be highlighted when the whidget is active. More...
 
ModuleBase_WidgetValidatorwidgetValidator ()
 Returns widget validator, by default it is NULL. To be created in a child if necessary. More...
 
bool restoreValue ()
 Restore value from attribute data to the widget's control. More...
 
bool storeValue ()
 Saves the internal parameters to the given feature. More...
 
virtual bool focusTo ()
 Set focus to the first control of the current widget. More...
 
virtual void selectContent ()
 Select the internal content if it can be selected. It is empty in the default realization. More...
 
void activate ()
 The method called when widget is activated. More...
 
virtual void updateAfterDeactivation ()
 Opportunity to do something after the active widget of the property panel changed. More...
 
virtual void updateAfterActivation ()
 Opportunity to do something after the active widget of the property panel changed. More...
 
virtual bool needToBeActivated ()
 The method called if widget should be activated always. More...
 
QWidgetgetControlAcceptingFocus (const bool isFirst)
 Returns the first or the last control that can accept the focus. More...
 
virtual bool eventFilter (QObject *theObject, QEvent *theEvent)
 FocusIn events processing. More...
 
virtual void enableFocusProcessing ()
 Enables processing of focus event on all controls by the widget if this widget is not obligatory and set no-focus policy otherwise. More...
 
virtual void setHighlighted (bool isHighlighted)
 Switch On/Off highlighting of the widget. More...
 
std::string attributeID () const
 Returns the attribute name. More...
 
FeaturePtr feature () const
 
virtual std::string context () const
 
virtual void setFeature (const FeaturePtr &theFeature, const bool theToStoreValue=false, const bool isUpdateFlushed=true)
 Set feature which is processing by active operation. More...
 
virtual void setEditingMode (bool isEditing)
 Editing mode depends on mode of current operation. This value is defined by it. More...
 
bool isEditingMode () const
 
virtual bool canProcessAction (ModuleBase_ActionType theActionType, bool &isActionEnabled)
 Returns true if the action can be processed. More...
 
virtual bool processAction (ModuleBase_ActionType theActionType, const ActionParamPtr &theParam=ActionParamPtr())
 Returns true if the event is processed. The default implementation is empty, returns false. More...
 
virtual QList< ActionInfoactionsList (ModuleBase_ActionType theActionType) const
 Returns list of accessible actions for Undo/Redo commands. More...
 
void updateObject (ObjectPtr theObj)
 Sends Update and Redisplay for the given object. More...
 
virtual QString translate (const std::string &theStr) const
 Translate passed string with widget context() More...
 
void emitFocusInWidget ()
 Emit focus in widget to set this control as active in propety panel. More...
 
virtual bool usesAttribute () const
 Returns True if the widget uses feature attribute. More...
 
virtual void onFeatureAccepted ()
 It is called when user press Ok or OkPlus buttons in the parent property panel By default this slot does nothing. More...
 
virtual bool isInformative () const
 Returns True in case if the widget contains useful information for inspection tool. More...
 
virtual void showInformativePage ()
 If widgets has several panels then this method has to show a page which contains information for current feature. More...
 
virtual void setReadOnly (bool isReadOnly)
 
virtual bool isReadOnly () const
 
bool canUseExternalParts () const
 Returns true if the widget should have access to external parts. More...
 
virtual void mousePressed (ModuleBase_IViewWindow *theWindow, QMouseEvent *theEvent)
 Processing the mouse press event in the viewer. More...
 
virtual void mouseDoubleClick (ModuleBase_IViewWindow *theWindow, QMouseEvent *theEvent)
 Processing the mouse double click event in the viewer. More...
 

Static Public Member Functions

static void blockFeatureAttribute (const AttributePtr &theAttribute, const FeaturePtr &theFeature, const bool &theToBlock, bool &isFlushesActived, bool &isAttributeSetInitializedBlocked, bool &isAttributeSendUpdatedBlocked)
 Block the model flush of update and intialization of attribute. More...
 
static bool isValidAttribute (const AttributePtr &theAttribute)
 Checks the current attibute in all attribute validators. More...
 
static ModuleBase_ModelWidgetfindModelWidget (ModuleBase_IPropertyPanel *theProp, QWidget *theWidget)
 Finds model widget parent of the given sub widget. More...
 

Protected Slots

void onWidgetValuesChanged ()
 Processing of values changed in model widget by store the current value to the feature. More...
 
void onWidgetValuesModified ()
 Changes widget state. More...
 

Protected Member Functions

virtual QList< std::shared_ptr< ModuleBase_ViewerPrs > > getAttributeSelection () const
 Return the attribute values wrapped in a list of viewer presentations. More...
 
virtual void activateCustom ()
 The methiod called when widget is activated. More...
 
virtual void getGeomSelection (const std::shared_ptr< ModuleBase_ViewerPrs > &thePrs, ObjectPtr &theObject, GeomShapePtr &theShape)
 Return an object and geom shape by the viewer presentation. More...
 
void restoreAttributeValue (const AttributePtr &theAttribute, const bool theValid)
 Creates a backup of the current values of the attribute It should be realized in the specific widget because of different parameters of the current attribute. More...
 
bool fillFeature ()
 
virtual bool storeValueCustom ()
 Saves the internal parameters to the given feature. More...
 
virtual bool restoreValueCustom ()
 Restore value from attribute data to the widget's control. More...
 
virtual void updateSelectionName ()
 Computes and updates name of selected object in the widget. More...
 
virtual void updateFocus ()
 Update focus after the attribute value change. More...
 
virtual QIntList shapeTypes () const
 Retunrs a list of possible shape types. More...
 
virtual GeomShapePtr getShape () const
 Get the shape from the attribute if the attribute contains a shape, e.g. More...
 
virtual bool processSelection ()
 Returns true if envent is processed. The default implementation is empty, returns false. More...
 
virtual void updateOnSelectionChanged (const bool theDone)
 Emits model changed info, updates the current control by selection change. More...
 
QIntList getShapeTypes () const
 Retunrs a list of possible shape types. More...
 
bool acceptSubShape (const GeomShapePtr &theShape, const std::shared_ptr< ModelAPI_Result > &theResult) const
 Returns true if selected shape corresponds to requested shape types. More...
 
virtual bool isValidInFilters (const std::shared_ptr< ModuleBase_ViewerPrs > &thePrs)
 Checks whether all active viewer filters validate the presentation. More...
 
bool isValidSelectionForAttribute (const std::shared_ptr< ModuleBase_ViewerPrs > &theValue, const AttributePtr &theAttribute)
 Checks all attribute validators returns valid. More...
 
virtual AttributePtr attribute () const
 Retunrs attribute, which should be validated. More...
 
virtual void storeAttributeValue (const AttributePtr &theAttribute)
 Creates a backup of the current values of the attribute It should be realized in the specific widget because of different parameters of the current attribute. More...
 
QList< std::shared_ptr< ModuleBase_ViewerPrs > > getFilteredSelected ()
 Returns a list of selected presentations in the viewer and object browser The presentations from the object browser are filtered by the AIS context filters. More...
 
virtual void blockAttribute (const AttributePtr &theAttribute, const bool &theToBlock, bool &isFlushesActived, bool &isAttributeSetInitializedBlocked, bool &isAttributeSendUpdatedBlocked)
 Block the model flush of update and intialization of attribute. More...
 
bool getValidState (const std::shared_ptr< ModuleBase_ViewerPrs > &theValue, bool &theValid)
 Gets the validity state of the presentation in an internal map. More...
 
void storeValidState (const std::shared_ptr< ModuleBase_ViewerPrs > &theValue, const bool theValid)
 Store the validity state of the presentation in an internal map. More...
 
void setDefaultValue (const std::string &theValue)
 Sets default value of widget. More...
 
void setAttributeID (const std::string &theAttribute)
 Set the attribute name. More...
 
ValueState setValueState (const ValueState &theState)
 Sets the current value state. More...
 
bool blockValueState (const bool theBlocked)
 Blocks the value state change. More...
 
virtual void initializeValueByActivate ()
 Compute the feature default value and fill the controls with it or store the control value to the feature. More...
 
virtual bool resetCustom ()
 Fills the widget with default values. More...
 
virtual bool processEnter ()
 
virtual bool processEscape ()
 
virtual bool processDelete ()
 

Protected Attributes

CompositeFeaturePtr mySketch
 Pointer to a sketch. More...
 
Quantity_Color myHighlightColor
 
Quantity_Color mySelectionColor
 
std::string mySelectedObjectAttribute
 
std::string mySelectedPointAttribute
 
std::string myPreviewObjectAttribute
 
std::string myPreviewPointAttribute
 
bool myHasPreview
 
std::shared_ptr< ModelAPI_ObjectmyPreviewObject
 
std::shared_ptr< GeomAPI_Pnt2dmyPreviewPoint
 
PartSet_ExternalObjectsMgrmyExternalObjectMgr
 reference to external objects manager More...
 
QLabelmyLabel
 Label of the widget. More...
 
QLineEditmyTextLine
 Input control of the widget. More...
 
QStringList myShapeTypes
 List of accepting shapes types. More...
 
bool myIsPointsFiltering
 
ModuleBase_IWorkshopmyWorkshop
 Reference to workshop. More...
 
bool myIsInValidate
 The widget is in validation mode: store is performed, restore is not. More...
 
ModuleBase_WidgetValidatormyWidgetValidator
 own validator, by default it is zero More...
 
std::string myAttributeID
 The attribute name of the model feature. More...
 
FeaturePtr myFeature
 A feature which is processing by active operation. More...
 
std::string myFeatureId
 A feature ID. More...
 
bool myIsObligatory
 Flag which shows whether current widget is obligatory The non-obligatory widgets should not accept the focus in the property panel. More...
 
EnableState myIsValueEnabled
 Flag about value of the control is enabled (can be modified) More...
 
ValueState myState
 The widget value state. More...
 

Detailed Description

Customosation of PartSet_WidgetFeaturePointSelector in order to visualize sub-shape by mouse move over shape in the viewer.

Split of the object is performed by coincident points to the object. Segment between nearest coincidence is highlighted

Member Enumeration Documentation

◆ ValueState

State of the widget.

Enumerator
ModifiedInPP 

modification is finished and applyed to the model

ModifiedInViewer 

modification has not been finished and set to the model yet

Reset 

modification performed by viewer events

◆ EnableState

the value is reset

Enumerator
Off 

the widget value is always enabled

DefinedInPreferences 

the widget value is always disabled

the widget value enable state is defined in preferences

Constructor & Destructor Documentation

◆ PartSet_WidgetFeaturePointSelector()

PartSet_WidgetFeaturePointSelector::PartSet_WidgetFeaturePointSelector ( QWidget theParent,
ModuleBase_IWorkshop theWorkshop,
const Config_WidgetAPI theData 
)

Constructor.

Parameters
theParentthe parent object
theWorkshopinstance of workshop interface
theDatathe widget configuation. The attribute of the model widget is obtained from

Member Function Documentation

◆ isValidSelection()

bool PartSet_WidgetFeaturePointSelector::isValidSelection ( const std::shared_ptr< ModuleBase_ViewerPrs > &  theValue)
virtual

Checks all widget validator if the owner is valid.

Firstly it checks custom widget validating, next, the attribute's validating. It trying on the give selection to current attribute by setting the value inside and calling validators. After this, the previous attribute value is restored.The valid/invalid value is cashed.

Parameters
theValuea selected presentation in the view
Returns
a boolean value

Reimplemented from ModuleBase_WidgetValidated.

◆ setSketcher()

void PartSet_WidgetFeaturePointSelector::setSketcher ( CompositeFeaturePtr  theSketch)
inline

Set sketcher.

Parameters
theSketcha sketcher object

◆ sketch()

CompositeFeaturePtr PartSet_WidgetFeaturePointSelector::sketch ( ) const
inline

Retrurns installed sketcher.

◆ deactivate()

void PartSet_WidgetFeaturePointSelector::deactivate ( )
virtual

The methiod called when widget is deactivated.

Reimplemented from ModuleBase_WidgetSelector.

◆ mouseMoved()

void PartSet_WidgetFeaturePointSelector::mouseMoved ( ModuleBase_IViewWindow theWindow,
QMouseEvent *  theEvent 
)
virtual

Processing the mouse move event in the viewer.

Parameters
theWindowa view window
theEventa mouse event

Reimplemented from PartSet_MouseProcessor.

◆ mouseReleased()

void PartSet_WidgetFeaturePointSelector::mouseReleased ( ModuleBase_IViewWindow theWindow,
QMouseEvent *  theEvent 
)
virtual

Processing the mouse release event in the viewer.

Parameters
theWindowa view window
theEventa mouse event

Reimplemented from PartSet_MouseProcessor.

◆ setSelectionCustom()

bool PartSet_WidgetFeaturePointSelector::setSelectionCustom ( const ModuleBase_ViewerPrsPtr &  thePrs)
virtual

Fills the attribute with the value of the selected owner.

Parameters
thePrsa selected owner

Reimplemented from ModuleBase_WidgetSelector.

◆ setPreSelection()

void PartSet_WidgetFeaturePointSelector::setPreSelection ( const ModuleBase_ViewerPrsPtr &  thePreSelected,
ModuleBase_IViewWindow theWnd,
QMouseEvent *  theEvent 
)
virtual

Fill preselection used in mouseReleased.

Reimplemented from PartSet_MouseProcessor.

◆ getAttributeSelection()

QList< ModuleBase_ViewerPrsPtr > PartSet_WidgetFeaturePointSelector::getAttributeSelection ( ) const
protectedvirtual

Return the attribute values wrapped in a list of viewer presentations.

Returns
a list of viewer presentations, which contains an attribute result and a shape. If the attribute do not uses the shape, it is empty

Reimplemented from ModuleBase_WidgetShapeSelector.

◆ activateCustom()

void PartSet_WidgetFeaturePointSelector::activateCustom ( )
protectedvirtual

The methiod called when widget is activated.

Reimplemented from ModuleBase_WidgetSelector.

◆ getGeomSelection()

void PartSet_WidgetFeaturePointSelector::getGeomSelection ( const std::shared_ptr< ModuleBase_ViewerPrs > &  thePrs,
ObjectPtr &  theObject,
GeomShapePtr &  theShape 
)
protectedvirtual

Return an object and geom shape by the viewer presentation.

Parameters
thePrsa selection
theObjectan output object
theShapea shape of the selection

Reimplemented from ModuleBase_WidgetSelector.

◆ restoreAttributeValue()

void PartSet_WidgetFeaturePointSelector::restoreAttributeValue ( const AttributePtr &  theAttribute,
const bool  theValid 
)
protectedvirtual

Creates a backup of the current values of the attribute It should be realized in the specific widget because of different parameters of the current attribute.

Parameters
theAttributean attribute
theValida boolean flag, if restore happens for valid parameters

Reimplemented from ModuleBase_WidgetValidated.

◆ setSelection()

bool ModuleBase_WidgetShapeSelector::setSelection ( QList< std::shared_ptr< ModuleBase_ViewerPrs >> &  theValues,
const bool  theToValidate 
)
virtualinherited

Set the given wrapped value to the current widget This value should be processed in the widget according to the needs The method is called by the current operation to process the operation preselection.

It is redefined to check the value validity and if it is, fill the attribute with by value

Parameters
theValuesthe wrapped selection values
theToValidatea flag on validation of the values

Reimplemented from ModuleBase_ModelWidget.

◆ getControls()

QList< QWidget * > ModuleBase_WidgetShapeSelector::getControls ( ) const
virtualinherited

Returns list of widget controls.

Returns
a control list

Implements ModuleBase_ModelWidget.

◆ isModified()

bool ModuleBase_WidgetShapeSelector::isModified ( ) const
virtualinherited

Returns True if data of its feature was modified during operation.

Reimplemented from ModuleBase_ModelWidget.

◆ storeValueCustom()

bool ModuleBase_WidgetShapeSelector::storeValueCustom ( )
protectedvirtualinherited

Saves the internal parameters to the given feature.

Returns
True in success

Implements ModuleBase_ModelWidget.

◆ restoreValueCustom()

bool ModuleBase_WidgetShapeSelector::restoreValueCustom ( )
protectedvirtualinherited

Restore value from attribute data to the widget's control.

Implements ModuleBase_ModelWidget.

◆ updateSelectionName()

void ModuleBase_WidgetShapeSelector::updateSelectionName ( )
protectedvirtualinherited

Computes and updates name of selected object in the widget.

Reimplemented from ModuleBase_WidgetSelector.

◆ updateFocus()

void ModuleBase_WidgetShapeSelector::updateFocus ( )
protectedvirtualinherited

Update focus after the attribute value change.

Reimplemented from ModuleBase_WidgetSelector.

◆ shapeTypes()

QIntList ModuleBase_WidgetShapeSelector::shapeTypes ( ) const
protectedvirtualinherited

Retunrs a list of possible shape types.

Returns
a list of shapes

Implements ModuleBase_WidgetSelector.

◆ getShape()

GeomShapePtr ModuleBase_WidgetShapeSelector::getShape ( ) const
protectedvirtualinherited

Get the shape from the attribute if the attribute contains a shape, e.g.

selection attribute

Returns
a shape

◆ selectionModes()

void ModuleBase_WidgetSelector::selectionModes ( int &  theModuleSelectionModes,
QIntList &  theModes 
)
virtualinherited

Fills given container with selection modes if the widget has it.

Parameters
[out]theModuleSelectionModesmodule additional modes, -1 means all default modes
[out]theModesa container of modes

Reimplemented from ModuleBase_ModelWidget.

Reimplemented in ModuleBase_WidgetPointInput.

◆ isViewerSelector()

virtual bool ModuleBase_WidgetSelector::isViewerSelector ( )
inlinevirtualinherited

Defines if it is supposed that the widget should interact with the viewer.

Reimplemented from ModuleBase_ModelWidget.

Reimplemented in PartSet_WidgetMultiSelector, and ModuleBase_WidgetPointInput.

◆ updateSelectionModesAndFilters()

void ModuleBase_WidgetSelector::updateSelectionModesAndFilters ( bool  toActivate)
virtualinherited

Activate or deactivate selection and selection filters.

◆ isValidSelectionCustom()

bool ModuleBase_WidgetSelector::isValidSelectionCustom ( const std::shared_ptr< ModuleBase_ViewerPrs > &  thePrs)
virtualinherited

Checks the widget validity.

By default, it returns true.

Parameters
thePrsa selected presentation in the view
Returns
a boolean value

Reimplemented from ModuleBase_WidgetValidated.

Reimplemented in PartSet_WidgetSketchCreator, CollectionPlugin_WidgetField, PartSet_WidgetShapeSelector, PartSet_WidgetMultiSelector, and ModuleBase_WidgetMultiSelector.

◆ processSelection()

bool ModuleBase_WidgetSelector::processSelection ( )
protectedvirtualinherited

Returns true if envent is processed. The default implementation is empty, returns false.

Reimplemented from ModuleBase_ModelWidget.

Reimplemented in PartSet_WidgetSketchCreator, and ModuleBase_WidgetMultiSelector.

◆ updateOnSelectionChanged()

void ModuleBase_WidgetSelector::updateOnSelectionChanged ( const bool  theDone)
protectedvirtualinherited

Emits model changed info, updates the current control by selection change.

Parameters
theDonea state whether the selection is set

Reimplemented in PartSet_WidgetSketchCreator, and ModuleBase_WidgetMultiSelector.

◆ getShapeTypes()

QIntList ModuleBase_WidgetSelector::getShapeTypes ( ) const
protectedinherited

Retunrs a list of possible shape types.

Returns
a list of shapes

◆ acceptSubShape()

bool ModuleBase_WidgetSelector::acceptSubShape ( const GeomShapePtr &  theShape,
const std::shared_ptr< ModelAPI_Result > &  theResult 
) const
protectedinherited

Returns true if selected shape corresponds to requested shape types.

If the widget type of shapes contains the faces item, the result is converted to construction result and the method returns true if there is at least one face in the construction.

Parameters
theShapea shape
theResulta selected result

◆ findPresentedObject()

ObjectPtr ModuleBase_WidgetValidated::findPresentedObject ( const AISObjectPtr &  theAIS) const
inherited

Returns data object by AIS.

◆ clearValidatedCash()

void ModuleBase_WidgetValidated::clearValidatedCash ( )
inherited

Clear all validated cash in the widget.

◆ isFilterActivated()

bool ModuleBase_WidgetValidated::isFilterActivated ( ) const
inherited

Returns true if the workshop validator filter has been already activated.

Returns
boolean value

◆ selectionFilters()

void ModuleBase_WidgetValidated::selectionFilters ( QIntList &  theModuleSelectionFilters,
SelectMgr_ListOfFilter &  theSelectionFilters 
)
virtualinherited

Appends into container of workshop selection filters.

Parameters
[out]theModuleSelectionFiltersmodule additional modes, -1 means all default modes
[out]selectionfilters

Reimplemented from ModuleBase_ModelWidget.

Reimplemented in PartSet_WidgetSketchLabel, and PartSet_WidgetShapeSelector.

◆ blockFeatureAttribute()

void ModuleBase_WidgetValidated::blockFeatureAttribute ( const AttributePtr &  theAttribute,
const FeaturePtr &  theFeature,
const bool &  theToBlock,
bool &  isFlushesActived,
bool &  isAttributeSetInitializedBlocked,
bool &  isAttributeSendUpdatedBlocked 
)
staticinherited

Block the model flush of update and intialization of attribute.

Parameters
theAttributean attribute of blocking
theFeaturea feature
theToBlockflag whether the model is blocked or unblocked
isFlushesActivedout value if model is blocked, in value if model is unblocked to be used to restore flush state when unblocked
isAttributeSetInitializedBlockedout value if model is blocked in value if model is unblocked to be used to restore previous state when unblocked
isAttributeSendUpdatedBlockedout value if model signal is blocked

◆ isValidAttribute()

bool ModuleBase_WidgetValidated::isValidAttribute ( const AttributePtr &  theAttribute)
staticinherited

Checks the current attibute in all attribute validators.

Parameters
theAttributean attribute to be validated
Returns
true if all validators return that the attribute is valid

◆ isValidInFilters()

bool ModuleBase_WidgetValidated::isValidInFilters ( const std::shared_ptr< ModuleBase_ViewerPrs > &  thePrs)
protectedvirtualinherited

Checks whether all active viewer filters validate the presentation.

Parameters
thePrsa selected presentation in the view
Returns
a boolean value

after validation, the selection filters should be restored

Reimplemented in ModuleBase_WidgetFeatureSelector.

◆ isValidSelectionForAttribute()

bool ModuleBase_WidgetValidated::isValidSelectionForAttribute ( const std::shared_ptr< ModuleBase_ViewerPrs > &  theValue,
const AttributePtr &  theAttribute 
)
protectedinherited

Checks all attribute validators returns valid.

It tries on the given selection to current attribute by setting the value inside and calling validators. After this, the previous attribute value is restored.The valid/invalid value is cashed.

Parameters
theValuea selected presentation in the view
theAttributethe attribute
Returns
a boolean value

NDS: The following rows are commented for issue #1452 (to be removed after debug) This is not correct to perform it here because it might cause update selection and the selection mechanizm will be circled: use the scenario of the bug with preselected point.

◆ attribute()

AttributePtr ModuleBase_WidgetValidated::attribute ( ) const
protectedvirtualinherited

Retunrs attribute, which should be validated.

In default implementation, this is an attribute of ID

Returns
an attribute

Reimplemented in PartSet_WidgetSketchCreator.

◆ storeAttributeValue()

void ModuleBase_WidgetValidated::storeAttributeValue ( const AttributePtr &  theAttribute)
protectedvirtualinherited

Creates a backup of the current values of the attribute It should be realized in the specific widget because of different parameters of the current attribute.

Parameters
theAttributean attribute to be stored

Reimplemented in PartSet_WidgetSketchLabel.

◆ getFilteredSelected()

QList< ModuleBase_ViewerPrsPtr > ModuleBase_WidgetValidated::getFilteredSelected ( )
protectedinherited

Returns a list of selected presentations in the viewer and object browser The presentations from the object browser are filtered by the AIS context filters.

Returns
a list of presentations

◆ blockAttribute()

void ModuleBase_WidgetValidated::blockAttribute ( const AttributePtr &  theAttribute,
const bool &  theToBlock,
bool &  isFlushesActived,
bool &  isAttributeSetInitializedBlocked,
bool &  isAttributeSendUpdatedBlocked 
)
protectedvirtualinherited

Block the model flush of update and intialization of attribute.

Parameters
theAttributean attribute of blocking
theToBlockflag whether the model is blocked or unblocked
isFlushesActivedout value if model is blocked, in value if model is unblocked to be used to restore flush state when unblocked
isAttributeSetInitializedBlockedout value if model is blocked in value if model is unblocked to be used to restore previous state when unblocked
isAttributeSendUpdatedBlockedout value if model signal is blocked

Reimplemented in PartSet_WidgetSketchLabel.

◆ getValidState()

bool ModuleBase_WidgetValidated::getValidState ( const std::shared_ptr< ModuleBase_ViewerPrs > &  theValue,
bool &  theValid 
)
protectedinherited

Gets the validity state of the presentation in an internal map.

Returns true if the valid state of value is stored

Parameters
theValuea viewer presentation
theValida valid state

◆ storeValidState()

void ModuleBase_WidgetValidated::storeValidState ( const std::shared_ptr< ModuleBase_ViewerPrs > &  theValue,
const bool  theValid 
)
protectedinherited

Store the validity state of the presentation in an internal map.

Parameters
theValuea viewer presentation
theValida valid state

◆ reset()

bool ModuleBase_ModelWidget::reset ( )
inherited

Fills the widget with default values.

It calls the resetCustom method and change the widget state to Reset if the reset is performed.

Returns
true if the widget current value is reset

◆ isInitialized()

bool ModuleBase_ModelWidget::isInitialized ( ObjectPtr  theObject) const
inherited

Returns the state whether the attribute of the feature is initialized.

Parameters
theObjecta model feature to be checked
Returns
the boolean result

◆ isComputedDefault()

bool ModuleBase_ModelWidget::isComputedDefault ( ) const
inlineinherited

Returns true, if default value of the widget should be computed on operation's execute, like radius for circle's constraint (can not be zero)

◆ getDefaultValue()

std::string ModuleBase_ModelWidget::getDefaultValue ( ) const
inlineinherited

Returns true, if default value of the widget is defined in the XML and it is not the computed value.

Returns
the boolean result

◆ isInternal()

bool ModuleBase_ModelWidget::isInternal ( ) const
inlineinherited

Returns true, if widget is internal.

Returns
the boolean result

◆ isObligatory()

bool ModuleBase_ModelWidget::isObligatory ( ) const
inlineinherited

Returns true, if the obligatory value of the widget is not defined in the XML or has true value.

Returns
the boolean result

◆ isValueEnabled()

bool ModuleBase_ModelWidget::isValueEnabled ( ) const
virtualinherited

Returns true, if the widget value is enabled and might be modified manualy.

It returns false if the application preferences allow having disabled value and the internal state tells to disable

Returns
the boolean result

◆ isUseReset()

bool ModuleBase_ModelWidget::isUseReset ( ) const
inlineinherited

Returns this parameter value in the xml file.

Returns
the boolean result

◆ isModifiedInEdit()

std::string ModuleBase_ModelWidget::isModifiedInEdit ( ) const
inlineinherited

Returns this parameter value in the xml file.

Returns
the boolean result

◆ getValueState()

ValueState ModuleBase_ModelWidget::getValueState ( ) const
inlineinherited

Returns this widget value state.

Returns
the enumeration result

◆ processValueState()

void ModuleBase_ModelWidget::processValueState ( )
inherited

Stores the widget value if it is modified.

◆ getValueStateError()

Events_InfoMessage ModuleBase_ModelWidget::getValueStateError ( ) const
inherited

Returns an attribute error according to the value state It exists in all cases excepring the "Store" case.

◆ canAcceptFocus()

virtual bool ModuleBase_ModelWidget::canAcceptFocus ( ) const
inlinevirtualinherited

Defines if it is supported to set the value in this widget By default it returns true.

Reimplemented in ModuleBase_WidgetToolbox, ModuleBase_WidgetSwitch, ModuleBase_WidgetOptionalBox, ModuleBase_WidgetLabel, ModuleBase_WidgetConcealedObjects, ModuleBase_WidgetChoice, and ModuleBase_WidgetBoolValue.

◆ getError()

QString ModuleBase_ModelWidget::getError ( const bool  theValueStateChecked = true) const
virtualinherited

Returns the widget error, get it from the attribute validator and state of the widget If the feature is correct, it returns an empty value.

Parameters
theValueStateCheckedthe boolean flag if the state of the widget should be checked
Returns
string value

Reimplemented in ModuleBase_WidgetSelectionFilter.

◆ getHighlighted()

virtual void ModuleBase_ModelWidget::getHighlighted ( QList< std::shared_ptr< ModuleBase_ViewerPrs >> &  theValues)
inlinevirtualinherited

Returns values which should be highlighted when the whidget is active.

Parameters
theValuesa list of presentations

Reimplemented in ModuleBase_WidgetMultiSelector.

◆ widgetValidator()

ModuleBase_WidgetValidator* ModuleBase_ModelWidget::widgetValidator ( )
inlineinherited

Returns widget validator, by default it is NULL. To be created in a child if necessary.

◆ restoreValue()

bool ModuleBase_ModelWidget::restoreValue ( )
inherited

Restore value from attribute data to the widget's control.

Emits signals before and after store

Returns
True in success

◆ storeValue()

bool ModuleBase_ModelWidget::storeValue ( )
inherited

Saves the internal parameters to the given feature.

Emits signals before and after store

Returns
True in success

store value in an alternative attribute if possible(attribute has the same type)

◆ focusTo()

bool ModuleBase_ModelWidget::focusTo ( )
virtualinherited

Set focus to the first control of the current widget.

The focus policy of the control is checked. If the widget has the NonFocus focus policy, it is skipped.

Returns
the state whether the widget can accept the focus

Reimplemented in PartSet_WidgetSketchLabel, PartSet_WidgetSketchCreator, PartSet_WidgetPoint2DFlyout, PartSet_WidgetEditor, ModuleBase_WidgetNameEdit, ModuleBase_WidgetLabel, ModuleBase_WidgetEditor, ModuleBase_WidgetChoice, ModuleBase_WidgetAction, and ModuleBase_PagedContainer.

◆ selectContent()

virtual void ModuleBase_ModelWidget::selectContent ( )
inlinevirtualinherited

Select the internal content if it can be selected. It is empty in the default realization.

Reimplemented in ModuleBase_WidgetIntValue, and ModuleBase_WidgetDoubleValue.

◆ activate()

void ModuleBase_ModelWidget::activate ( )
inherited

The method called when widget is activated.

◆ updateAfterDeactivation()

virtual void ModuleBase_ModelWidget::updateAfterDeactivation ( )
inlinevirtualinherited

Opportunity to do something after the active widget of the property panel changed.

Reimplemented in ModuleBase_WidgetMultiSelector.

◆ updateAfterActivation()

virtual void ModuleBase_ModelWidget::updateAfterActivation ( )
inlinevirtualinherited

Opportunity to do something after the active widget of the property panel changed.

Reimplemented in ModuleBase_WidgetMultiSelector.

◆ needToBeActivated()

virtual bool ModuleBase_ModelWidget::needToBeActivated ( )
inlinevirtualinherited

The method called if widget should be activated always.

Reimplemented in PartSet_WidgetSketchLabel.

◆ getControlAcceptingFocus()

QWidget * ModuleBase_ModelWidget::getControlAcceptingFocus ( const bool  isFirst)
inherited

Returns the first or the last control that can accept the focus.

Parameters
isFirstif true, the first controls is returned or the last one
Returns
a control from a list of controls

◆ eventFilter()

bool ModuleBase_ModelWidget::eventFilter ( QObject theObject,
QEvent theEvent 
)
virtualinherited

FocusIn events processing.

Reimplemented in CollectionPlugin_WidgetField, and PartSet_WidgetSketchLabel.

◆ enableFocusProcessing()

void ModuleBase_ModelWidget::enableFocusProcessing ( )
virtualinherited

Enables processing of focus event on all controls by the widget if this widget is not obligatory and set no-focus policy otherwise.

Reimplemented in PartSet_WidgetSketchLabel, and ModuleBase_PagedContainer.

◆ setHighlighted()

void ModuleBase_ModelWidget::setHighlighted ( bool  isHighlighted)
virtualinherited

◆ attributeID()

std::string ModuleBase_ModelWidget::attributeID ( ) const
inlineinherited

Returns the attribute name.

Returns
the string value

◆ feature()

FeaturePtr ModuleBase_ModelWidget::feature ( ) const
inlineinherited
Returns
Current feature

◆ context()

virtual std::string ModuleBase_ModelWidget::context ( ) const
inlinevirtualinherited
Returns
Context for translation

Reimplemented in ModuleBase_WidgetAction.

◆ setFeature()

void ModuleBase_ModelWidget::setFeature ( const FeaturePtr &  theFeature,
const bool  theToStoreValue = false,
const bool  isUpdateFlushed = true 
)
virtualinherited

Set feature which is processing by active operation.

Parameters
theFeaturea feature object
theToStoreValuea value about necessity to store the widget value to the feature
isUpdateFlusheda flag if update should be flushed on store value

it is possible to give this flag as parameter in storeValue/storeCustomValue after debug, it may be corrected

it is possible that the attribute is filled before the operation is started, e.g. by reentrant operation case some attributes are filled by values of feature of previous operation, we should not lost them here

Reimplemented in PartSet_BSplineWidget.

◆ setEditingMode()

virtual void ModuleBase_ModelWidget::setEditingMode ( bool  isEditing)
inlinevirtualinherited

Editing mode depends on mode of current operation. This value is defined by it.

Reimplemented in PartSet_WidgetSketchCreator.

◆ isEditingMode()

bool ModuleBase_ModelWidget::isEditingMode ( ) const
inlineinherited
Returns
Current Editing mode

◆ canProcessAction()

bool ModuleBase_ModelWidget::canProcessAction ( ModuleBase_ActionType  theActionType,
bool &  isActionEnabled 
)
virtualinherited

Returns true if the action can be processed.

By default it is empty and returns false.

Parameters
theActionTypean action type
isActionEnabledif true, the enable state of the action

Reimplemented in ModuleBase_WidgetMultiSelector.

◆ processAction()

bool ModuleBase_ModelWidget::processAction ( ModuleBase_ActionType  theActionType,
const ActionParamPtr &  theParam = ActionParamPtr() 
)
virtualinherited

Returns true if the event is processed. The default implementation is empty, returns false.

Reimplemented in ModuleBase_WidgetMultiSelector.

◆ actionsList()

virtual QList<ActionInfo> ModuleBase_ModelWidget::actionsList ( ModuleBase_ActionType  theActionType) const
inlinevirtualinherited

Returns list of accessible actions for Undo/Redo commands.

By default it returns empty list.

Parameters
theActionTypetype of action. It can be ActionUndo or ActionRedo.

Reimplemented in ModuleBase_WidgetMultiSelector.

◆ updateObject()

void ModuleBase_ModelWidget::updateObject ( ObjectPtr  theObj)
inherited

Sends Update and Redisplay for the given object.

Parameters
theObjis updating object

◆ translate()

QString ModuleBase_ModelWidget::translate ( const std::string &  theStr) const
virtualinherited

Translate passed string with widget context()

◆ emitFocusInWidget()

void ModuleBase_ModelWidget::emitFocusInWidget ( )
inlineinherited

Emit focus in widget to set this control as active in propety panel.

◆ findModelWidget()

ModuleBase_ModelWidget * ModuleBase_ModelWidget::findModelWidget ( ModuleBase_IPropertyPanel theProp,
QWidget theWidget 
)
staticinherited

Finds model widget parent of the given sub widget.

Parameters
theWidgeta candidate to be a child of the model widget
thePropa property panel instance
Returns
a model widget or NULL

◆ usesAttribute()

virtual bool ModuleBase_ModelWidget::usesAttribute ( ) const
inlinevirtualinherited

Returns True if the widget uses feature attribute.

If not then it means that the widget do not need attribute at all.

Reimplemented in ModuleBase_WidgetNameEdit.

◆ onFeatureAccepted()

virtual void ModuleBase_ModelWidget::onFeatureAccepted ( )
inlinevirtualinherited

It is called when user press Ok or OkPlus buttons in the parent property panel By default this slot does nothing.

Reimplemented in ModuleBase_WidgetSelectionFilter, ModuleBase_WidgetMultiSelector, ModuleBase_WidgetChoice, and ModuleBase_PagedContainer.

◆ isInformative()

virtual bool ModuleBase_ModelWidget::isInformative ( ) const
inlinevirtualinherited

Returns True in case if the widget contains useful information for inspection tool.

Reimplemented in PartSet_WidgetSketchCreator.

◆ showInformativePage()

virtual void ModuleBase_ModelWidget::showInformativePage ( )
inlinevirtualinherited

If widgets has several panels then this method has to show a page which contains information for current feature.

By default does nothing

Reimplemented in PartSet_WidgetSketchLabel.

◆ canUseExternalParts()

bool ModuleBase_ModelWidget::canUseExternalParts ( ) const
inlineinherited

Returns true if the widget should have access to external parts.

◆ beforeValuesChanged

void ModuleBase_ModelWidget::beforeValuesChanged ( )
signalinherited

The signal about widget values are to be changed.

◆ valuesChanged

void ModuleBase_ModelWidget::valuesChanged ( )
signalinherited

The signal about widget values changed.

◆ valuesModified

void ModuleBase_ModelWidget::valuesModified ( )
signalinherited

The signal about widget values modified.

◆ afterValuesChanged

void ModuleBase_ModelWidget::afterValuesChanged ( )
signalinherited

The signal about widget values are to be changed.

◆ beforeValuesRestored

void ModuleBase_ModelWidget::beforeValuesRestored ( )
signalinherited

The signal about widget values are to be restored.

◆ afterValuesRestored

void ModuleBase_ModelWidget::afterValuesRestored ( )
signalinherited

The signal about widget values are to be restored.

◆ keyReleased

void ModuleBase_ModelWidget::keyReleased ( QObject theObject,
QKeyEvent *  theEvent 
)
signalinherited

The signal about key release on the control, that corresponds to the attribute.

Parameters
theObjecta sender of the event
theEventkey release event

◆ enterClicked

void ModuleBase_ModelWidget::enterClicked ( QObject theObject)
signalinherited

The signal is emitted if the enter is clicked in the control of the widget.

Parameters
theObjecta sender of the event

◆ focusInWidget

void ModuleBase_ModelWidget::focusInWidget ( ModuleBase_ModelWidget theWidget)
signalinherited

The signal about the widget is get focus.

Parameters
theWidgetthe model base widget

◆ focusOutWidget

void ModuleBase_ModelWidget::focusOutWidget ( ModuleBase_ModelWidget theWidget)
signalinherited

The signal about the widget is lost focus.

Parameters
theWidgetthe model base widget

◆ valueStateChanged

void ModuleBase_ModelWidget::valueStateChanged ( int  theState)
signalinherited

The signal about value state modification.

◆ objectUpdated

void ModuleBase_ModelWidget::objectUpdated ( )
signalinherited

The signal is emitted after flush of updates singal for the widget.

◆ setDefaultValue()

void ModuleBase_ModelWidget::setDefaultValue ( const std::string &  theValue)
protectedinherited

Sets default value of widget.

Normally, widget should fetch this value from the xml. However, some widgets derived widgets could define it

◆ setAttributeID()

void ModuleBase_ModelWidget::setAttributeID ( const std::string &  theAttribute)
inlineprotectedinherited

Set the attribute name.

Parameters
theAttributethe string value with attribute name

◆ setValueState()

ModuleBase_ModelWidget::ValueState ModuleBase_ModelWidget::setValueState ( const ValueState theState)
protectedinherited

Sets the current value state.

If the value is changed, the signal is emitted If the current value state is Blocked, this method do nothing

Parameters
theStatea new state
Returns
the previous value state

◆ blockValueState()

bool ModuleBase_ModelWidget::blockValueState ( const bool  theBlocked)
protectedinherited

Blocks the value state change.

Parameters
theBlockeda block state
Returns
the previous value

◆ initializeValueByActivate()

void ModuleBase_ModelWidget::initializeValueByActivate ( )
protectedvirtualinherited

Compute the feature default value and fill the controls with it or store the control value to the feature.

Reimplemented in PartSet_WidgetPoint2D, and ModuleBase_WidgetExprEditor.

◆ resetCustom()

virtual bool ModuleBase_ModelWidget::resetCustom ( )
inlineprotectedvirtualinherited

Fills the widget with default values.

Returns
true if the widget current value is reset

Reimplemented in PartSet_WidgetPoint2D, PartSet_WidgetBSplinePoints, ModuleBase_WidgetIntValue, and ModuleBase_WidgetDoubleValue.

◆ onWidgetValuesChanged

void ModuleBase_ModelWidget::onWidgetValuesChanged ( )
protectedslotinherited

Processing of values changed in model widget by store the current value to the feature.

◆ onWidgetValuesModified

void ModuleBase_ModelWidget::onWidgetValuesModified ( )
protectedslotinherited

Changes widget state.

◆ mousePressed()

virtual void PartSet_MouseProcessor::mousePressed ( ModuleBase_IViewWindow theWindow,
QMouseEvent *  theEvent 
)
inlinevirtualinherited

Processing the mouse press event in the viewer.

Parameters
theWindowa view window
theEventa mouse event

◆ mouseDoubleClick()

virtual void PartSet_MouseProcessor::mouseDoubleClick ( ModuleBase_IViewWindow theWindow,
QMouseEvent *  theEvent 
)
inlinevirtualinherited

Processing the mouse double click event in the viewer.

Parameters
theWindowa view window
theEventa mouse event

Field Documentation

◆ mySketch

CompositeFeaturePtr PartSet_WidgetFeaturePointSelector::mySketch
protected

Pointer to a sketch.

◆ myExternalObjectMgr

PartSet_ExternalObjectsMgr* PartSet_WidgetFeaturePointSelector::myExternalObjectMgr
protected

reference to external objects manager

◆ myLabel

QLabel* ModuleBase_WidgetShapeSelector::myLabel
protectedinherited

Label of the widget.

◆ myTextLine

QLineEdit* ModuleBase_WidgetShapeSelector::myTextLine
protectedinherited

Input control of the widget.

◆ myShapeTypes

QStringList ModuleBase_WidgetShapeSelector::myShapeTypes
protectedinherited

List of accepting shapes types.

◆ myWorkshop

ModuleBase_IWorkshop* ModuleBase_WidgetValidated::myWorkshop
protectedinherited

Reference to workshop.

◆ myIsInValidate

bool ModuleBase_WidgetValidated::myIsInValidate
protectedinherited

The widget is in validation mode: store is performed, restore is not.

◆ myWidgetValidator

ModuleBase_WidgetValidator* ModuleBase_ModelWidget::myWidgetValidator
protectedinherited

own validator, by default it is zero

◆ myAttributeID

std::string ModuleBase_ModelWidget::myAttributeID
protectedinherited

The attribute name of the model feature.

◆ myFeature

FeaturePtr ModuleBase_ModelWidget::myFeature
protectedinherited

A feature which is processing by active operation.

◆ myFeatureId

std::string ModuleBase_ModelWidget::myFeatureId
protectedinherited

A feature ID.

◆ myIsObligatory

bool ModuleBase_ModelWidget::myIsObligatory
protectedinherited

Flag which shows whether current widget is obligatory The non-obligatory widgets should not accept the focus in the property panel.

◆ myIsValueEnabled

EnableState ModuleBase_ModelWidget::myIsValueEnabled
protectedinherited

Flag about value of the control is enabled (can be modified)

◆ myState

ValueState ModuleBase_ModelWidget::myState
protectedinherited

The widget value state.