#include <SMESHGUI_SelectionOp.h>
Public Types | |
typedef QList< int > | IdList |
Public Member Functions | |
SMESHGUI_SelectionOp (const Selection_Mode=ActorSelection) | |
List of node or element ids. More... | |
virtual | ~SMESHGUI_SelectionOp () |
Static Public Member Functions | |
static void | extractIds (const QStringList &, IdList &, const QChar) |
Protected Types | |
enum | EntityType { Object, MeshNode, MeshElement } |
Protected Slots | |
virtual void | onActivateObject (int) |
Installs filter corresponding to certain object selection widget. More... | |
virtual void | onDeactivateObject (int) |
Removes filter corresponding to certain object selection widget. More... | |
virtual void | onSelectionChanged (int) |
Empty default implementation. More... | |
virtual void | onTextChanged (int, const QStringList &) |
Default implementation allowing user to edit selected ids "by hands". More... | |
virtual void | onOk () |
virtual bool | onApply () |
virtual void | onCancel () |
void | onHelp () |
Protected Member Functions | |
virtual void | startOperation () |
This enumeration is used in typeById method to distinguish objects, mesh nodes and mesh elements, because node end element ids may overlap. More... | |
virtual void | commitOperation () |
virtual void | abortOperation () |
virtual void | selectionDone () |
virtual void | initDialog () |
sets the dialog widgets to state just after operation start More... | |
virtual SUIT_SelectionFilter * | createFilter (const int) const |
Creates filter being used when certain object selection widget is active If no filter must be used, then function must return 0 if id is negative, then function must return filter for common using independently of active widget. More... | |
void | removeCustomFilters () |
Remove only filters set by this operation (they are in map myFilters ) More... | |
Selection_Mode | selectionMode () const |
Return what selection mode is set in VTK viewer. More... | |
void | setSelectionMode (const Selection_Mode) |
Set selection mode in VTK viewer. More... | |
void | highlight (const Handle(SALOME_InteractiveObject)&, const bool, const bool=true) |
Hilight object in VTK viewer. More... | |
void | addOrRemoveIndex (const Handle(SALOME_InteractiveObject)&, const TColStd_MapOfInteger &, const bool isModeShift) |
Select some nodes or elements in VTK. More... | |
SVTK_ViewWindow * | viewWindow () const |
SVTK_Selector * | selector () const |
virtual void | selected (QStringList &, SMESHGUI_Dialog::TypesList &, QStringList &) const |
Get names, types and ids of selected objects. More... | |
virtual int | typeById (const QString &, const EntityType) const |
Find type by id. More... | |
virtual QChar | idChar () const |
Char using to divide <entry> and <id> in string id representation. By default, '#'. More... | |
void | selectedIds (const int, IdList &) const |
Try to find in certain object selection widget selected node or element ids and return it. More... | |
void | extractIds (const QStringList &, IdList &) const |
Find in QStringList correct node or element ids representation and append integer(id) to IdList. More... | |
SMESH::SMESH_Mesh_var | mesh () const |
Return selected mesh if selection mode isn't ActorSelection and only one object is selected. More... | |
SMESH_Actor * | actor () const |
Return actor according to selected mesh if selection mode isn't ActorSelection. More... | |
virtual bool | isReadyToStart () const |
virtual void | setIsApplyAndClose (const bool theFlag) |
virtual bool | isApplyAndClose () const |
virtual void | setDialogActive (const bool) |
Set according dialog active or inactive. More... | |
SMESHGUI * | getSMESHGUI () const |
bool | isStudyLocked (const bool=true) const |
Verifies whether study of operation is locked. More... | |
_PTR (Study) studyDS() const | |
virtual bool | isValid (SUIT_Operation *) const |
Verifies whether given operator is valid for this one. More... | |
Protected Attributes | |
QString | myHelpFileName |
bool | myIsApplyAndClose |
Private Types | |
typedef QMap< int, SUIT_SelectionFilter * > | Filters |
Private Attributes | |
Filters | myFilters |
Selection_Mode | myDefSelectionMode |
Selection_Mode | myOldSelectionMode |
|
private |
typedef QList<int> SMESHGUI_SelectionOp::IdList |
|
protected |
SMESHGUI_SelectionOp::SMESHGUI_SelectionOp | ( | const Selection_Mode | mode = ActorSelection | ) |
List of node or element ids.
|
virtual |
References removeCustomFilters().
|
protectedinherited |
Referenced by SMESHGUI_ShapeByMeshOp::commitOperation(), SMESHGUI_Make2DFrom3DOp::compute2DMesh(), SMESHGUI_BaseComputeOp::computeMesh(), SMESHGUI_ConvToQuadOp::ConnectRadioButtons(), SMESHGUI_BaseComputeOp::evaluateMesh(), SMESHGUI_PrecomputeOp::getAssignedAlgos(), SMESHGUI_PrecomputeOp::initDialog(), SMESHGUI_ReorientFacesOp::isValid(), SMESHGUI_Make2DFrom3DOp::isValid(), SMESHGUI_ConvToQuadOp::onApply(), SMESHGUI_GroupOnShapeOp::onApply(), SMESHGUI_SplitBiQuadOp::onApply(), SMESHGUI_BaseComputeOp::onGroupOfBadMesh(), SMESHGUI_PrecomputeOp::onPreview(), SMESHGUI_FindElemByPointOp::onSelectionDone(), selected(), SMESHGUI_GroupOnShapeOp::selectionDone(), SMESHGUI_ConvToQuadOp::selectionDone(), SMESHGUI_Add0DElemsOnAllNodesOp::selectionDone(), SMESHGUI_Make2DFrom3DOp::selectionDone(), SMESHGUI_ShapeByMeshOp::SetMesh(), and typeById().
|
protectedvirtual |
References myOldSelectionMode, removeCustomFilters(), and setSelectionMode().
|
protected |
Return actor according to selected mesh if selection mode isn't ActorSelection.
References SMESH::FindActorByObject(), and mesh().
Referenced by SMESHGUI_RevolutionDlg::ClickOnApply(), SMESHGUI_Make2DFrom3DOp::compute2DMesh(), SMESHGUI_ShapeByMeshOp::onElemIdChanged(), and onTextChanged().
|
protected |
Select some nodes or elements in VTK.
References selector().
Referenced by SMESHGUI_FindElemByPointOp::onElemSelected(), and SMESHGUI_ReorientFacesOp::onTextChange().
|
protectedvirtual |
Reimplemented in SMESHGUI_ShapeByMeshOp, and SMESHGUI_MeshOp.
References myOldSelectionMode, removeCustomFilters(), and setSelectionMode().
Referenced by SMESHGUI_MeshOp::commitOperation(), and SMESHGUI_ShapeByMeshOp::commitOperation().
|
protectedvirtual |
Creates filter being used when certain object selection widget is active If no filter must be used, then function must return 0 if id is negative, then function must return filter for common using independently of active widget.
Reimplemented in SMESHGUI_Make2DFrom3DOp, SMESHGUI_Add0DElemsOnAllNodesOp, SMESHGUI_MeshOp, SMESHGUI_SplitBiQuadOp, SMESHGUI_ConvToQuadOp, SMESHGUI_GroupOnShapeOp, and SMESHGUI_ReorientFacesOp.
Referenced by onActivateObject().
|
static |
Referenced by extractIds(), onTextChanged(), and selectedIds().
|
protected |
Find in QStringList correct node or element ids representation and append integer(id) to IdList.
References extractIds(), and idChar().
|
protectedinherited |
Referenced by SMESHGUI_BaseComputeOp::computeMesh(), SMESHGUI_BaseComputeOp::evaluateMesh(), SMESHGUI_Operation::isReadyToStart(), SMESHGUI_MeshOp::onGeomSelectionByMesh(), SMESHGUI_BaseComputeOp::onGroupOfBadMesh(), SMESHGUI_Operation::onHelp(), SMESHGUI_PrecomputeOp::onPreview(), SMESHGUI_BaseComputeOp::onPublishShape(), SMESHGUI_Add0DElemsOnAllNodesOp::onSetFilter(), SMESHGUI_BaseComputeOp::onShowBadMesh(), SMESHGUI_FindElemByPointOp::startOperation(), SMESHGUI_MakeNodeAtPointOp::startOperation(), and viewWindow().
|
protected |
Hilight object in VTK viewer.
References viewWindow().
Referenced by SMESHGUI_ReorientFacesOp::onTextChange(), and onTextChanged().
|
protectedvirtual |
Char using to divide <entry> and <id> in string id representation. By default, '#'.
Referenced by extractIds(), selected(), and typeById().
|
protectedvirtual |
sets the dialog widgets to state just after operation start
Reimplemented from SMESHGUI_Operation.
|
protectedvirtualinherited |
References SMESHGUI_Operation::myIsApplyAndClose.
Referenced by SMESHGUI_GroupOnShapeOp::onApply(), SMESHGUI_MeshOp::onApply(), and SMESHGUI_Make2DFrom3DOp::onApply().
|
protectedvirtualinherited |
References SMESHGUI_Operation::getSMESHGUI(), and SMESHGUI_Operation::isStudyLocked().
Verifies whether study of operation is locked.
theMess | - specifies whether message box must be shown if study is locked |
Verifies whether study of operation is locked. If second parameter is TRUE and study is locked when corresponding message box appears
References SMESHGUI::desktop(), and studyDS().
Referenced by SMESHGUI_Operation::isReadyToStart(), SMESHGUI_GroupOnShapeOp::onApply(), SMESHGUI_ReorientFacesOp::onApply(), SMESHGUI_MakeNodeAtPointOp::onApply(), SMESHGUI_MeshOp::onApply(), and SMESHGUI_Make2DFrom3DOp::onApply().
|
protectedvirtualinherited |
Verifies whether given operator is valid for this one.
theOtherOp | - other operation |
Virtual method redefined from base class verifies whether given operator is valid for this one (i.e. can be started "above" this operator). In current implementation method returns false if theOtherOp operation is not intended for deleting objects or mesh elements.
Reimplemented in SMESHGUI_BaseComputeOp, and SMESHGUI_MeshOp.
Referenced by SMESHGUI_MeshOp::isValid().
|
protected |
Return selected mesh if selection mode isn't ActorSelection and only one object is selected.
References SMESH::GetMeshByIO(), and selectionMode().
Referenced by actor(), SMESHGUI_RevolutionDlg::ClickOnApply(), SMESHGUI_ConvToQuadOp::ConnectRadioButtons(), SMESHGUI_MeshOp::isSubshapeOk(), SMESHGUI_ConvToQuadOp::onApply(), SMESHGUI_GroupOnShapeOp::onApply(), SMESHGUI_SplitBiQuadOp::onApply(), SMESHGUI_Add0DElemsOnAllNodesOp::onApply(), SMESHGUI_RevolutionDlg::onDisplaySimulation(), SMESHGUI_Add0DElemsOnAllNodesOp::onSetFilter(), SMESHGUI_ConvToQuadOp::selectionDone(), SMESHGUI_MeshOp::selectionDone(), SMESHGUI_Add0DElemsOnAllNodesOp::selectionDone(), typeById(), and SMESHGUI_Add0DElemsOnAllNodesOp::updateButtons().
|
protectedvirtualslot |
Installs filter corresponding to certain object selection widget.
References createFilter(), myFilters, and selectionDone().
Referenced by SMESHGUI_MeshOp::checkSubMeshConcurrency(), SMESHGUI_GroupOnShapeOp::init(), SMESHGUI_ReorientFacesOp::onActivateObject(), SMESHGUI_GroupOnShapeOp::onButtonClick(), SMESHGUI_MeshOp::onHypoCreated(), SMESHGUI_MeshOp::onHypoEdited(), and startOperation().
|
protectedvirtualslotinherited |
Referenced by SMESHGUI_Operation::onOk(), and SMESHGUI_Operation::startOperation().
|
protectedvirtualslotinherited |
|
protectedvirtualslot |
Removes filter corresponding to certain object selection widget.
References removeCustomFilters().
Referenced by startOperation().
|
protectedslotinherited |
References SMESHGUI_Operation::getSMESHGUI(), and SMESHGUI_Operation::myHelpFileName.
Referenced by SMESHGUI_Operation::startOperation(), and SMESHGUI_PrecomputeOp::startOperation().
|
protectedvirtualslotinherited |
References SMESHGUI_Operation::onApply(), and SMESHGUI_Operation::setIsApplyAndClose().
Referenced by SMESHGUI_Operation::startOperation(), and SMESHGUI_PrecomputeOp::startOperation().
|
protectedvirtualslot |
Empty default implementation.
In successors it may be used for more advanced selection checking. This slot is connected to signal when the selection changed in some object selection widget
Referenced by startOperation().
|
protectedvirtualslot |
Default implementation allowing user to edit selected ids "by hands".
In order to run default mechanism, you must set for some object selection widget the "name indication" to "ListOfNames", "read only" state to false and connect the dialog's signal "objectChanged" to this slot Warning: this mechanism can process only integer ids, NOT MESH OR GROUP NAMES!!!
References actor(), extractIds(), SMDS_Mesh::FindElement(), SMDS_Mesh::FindNode(), SMESH_Actor::GetObject(), highlight(), selected(), selectionMode(), and selector().
Referenced by SMESHGUI_Add0DElemsOnAllNodesOp::onTextChanged().
|
protected |
Remove only filters set by this operation (they are in map myFilters )
References myFilters.
Referenced by abortOperation(), commitOperation(), SMESHGUI_MeshOp::createHypothesis(), SMESHGUI_GroupOnShapeOp::init(), SMESHGUI_GroupOnShapeOp::onApply(), SMESHGUI_GroupOnShapeOp::onButtonClick(), onDeactivateObject(), SMESHGUI_MeshOp::onEditHyp(), and ~SMESHGUI_SelectionOp().
|
protectedvirtual |
Get names, types and ids of selected objects.
References SMESHGUI_Operation::_PTR(), idChar(), MeshElement, MeshNode, Object, selectionMode(), SObject(), and typeById().
Referenced by onTextChanged(), SMESHGUI_MinDistance::selectionChanged(), SMESHGUI_BoundingBox::selectionChanged(), SMESHGUI_BasicProperties::selectionChanged(), SMESHGUI_GroupOnShapeOp::selectionDone(), selectionDone(), and SMESHGUI_Make2DFrom3DOp::selectionDone().
Try to find in certain object selection widget selected node or element ids and return it.
References extractIds().
|
protectedvirtual |
Reimplemented in SMESHGUI_Make2DFrom3DOp, SMESHGUI_Add0DElemsOnAllNodesOp, SMESHGUI_MeshOp, SMESHGUI_ReorientFacesOp, SMESHGUI_ConvToQuadOp, and SMESHGUI_GroupOnShapeOp.
References selected(), and selectionMode().
Referenced by onActivateObject(), SMESHGUI_SplitBiQuadOp::onApply(), SMESHGUI_ConvToQuadOp::selectionDone(), SMESHGUI_ReorientFacesOp::selectionDone(), SMESHGUI_MeshOp::selectionDone(), SMESHGUI_Add0DElemsOnAllNodesOp::selectionDone(), and SMESHGUI_SplitBiQuadOp::startOperation().
|
protected |
Return what selection mode is set in VTK viewer.
References viewWindow().
Referenced by SMESHGUI_ShapeByMeshOp::activateSelection(), mesh(), SMESHGUI_FindElemByPointOp::onElemSelected(), SMESHGUI_FindElemByPointOp::onElemTypeChange(), onTextChanged(), selected(), selectionDone(), and startOperation().
|
protected |
References viewWindow().
Referenced by addOrRemoveIndex(), SMESHGUI_MinDistance::firstEdited(), SMESHGUI_Add0DElemsOnAllNodesOp::onApply(), SMESHGUI_ShapeByMeshOp::onElemIdChanged(), SMESHGUI_MakeNodeAtPointOp::onSelectionDone(), SMESHGUI_ShapeByMeshOp::onSelectionDone(), SMESHGUI_MakeNodeAtPointOp::onTextChange(), onTextChanged(), SMESHGUI_MinDistance::secondEdited(), SMESHGUI_MinDistance::selectionChanged(), SMESHGUI_BoundingBox::selectionChanged(), SMESHGUI_ReorientFacesOp::selectionDone(), SMESHGUI_Add0DElemsOnAllNodesOp::selectionDone(), and SMESHGUI_BoundingBox::sourceEdited().
|
protectedvirtualinherited |
Set according dialog active or inactive.
References MESHCUT::d, and SMESHGUI_Dialog::setContentActive().
|
protectedvirtualinherited |
References SMESHGUI_Operation::myIsApplyAndClose.
Referenced by SMESHGUI_Operation::onOk().
|
protected |
Set selection mode in VTK viewer.
References viewWindow().
Referenced by abortOperation(), SMESHGUI_MakeNodeAtPointOp::activateSelection(), SMESHGUI_ShapeByMeshOp::activateSelection(), commitOperation(), SMESHGUI_ReorientFacesOp::onActivateObject(), SMESHGUI_FindElemByPointOp::onElemSelected(), SMESHGUI_FindElemByPointOp::onElemTypeChange(), SMESHGUI_Add0DElemsOnAllNodesOp::onSelTypeChange(), and startOperation().
|
protectedvirtual |
This enumeration is used in typeById method to distinguish objects, mesh nodes and mesh elements, because node end element ids may overlap.
Reimplemented from SMESHGUI_Operation.
Reimplemented in SMESHGUI_Make2DFrom3DOp, SMESHGUI_Add0DElemsOnAllNodesOp, SMESHGUI_ShapeByMeshOp, SMESHGUI_MeshOp, SMESHGUI_SplitBiQuadOp, SMESHGUI_MakeNodeAtPointOp, SMESHGUI_ConvToQuadOp, SMESHGUI_GroupOnShapeOp, SMESHGUI_ReorientFacesOp, and SMESHGUI_FindElemByPointOp.
References myDefSelectionMode, myOldSelectionMode, onActivateObject(), onDeactivateObject(), onSelectionChanged(), selectionMode(), setSelectionMode(), and SMESHGUI_Operation::startOperation().
Referenced by SMESHGUI_FindElemByPointOp::startOperation(), SMESHGUI_ReorientFacesOp::startOperation(), SMESHGUI_GroupOnShapeOp::startOperation(), SMESHGUI_ConvToQuadOp::startOperation(), SMESHGUI_MakeNodeAtPointOp::startOperation(), SMESHGUI_SplitBiQuadOp::startOperation(), SMESHGUI_MeshOp::startOperation(), SMESHGUI_ShapeByMeshOp::startOperation(), SMESHGUI_Add0DElemsOnAllNodesOp::startOperation(), and SMESHGUI_Make2DFrom3DOp::startOperation().
|
protectedvirtual |
Find type by id.
References SMESHGUI_Operation::_PTR(), idChar(), mesh(), MeshElement, Object, SMESHGUI_Dialog::prefix(), SObject(), and SMESHGUI_Selection::type().
Referenced by selected().
|
protected |
References SMESHGUI_Operation::getSMESHGUI(), and SMESH::GetViewWindow().
Referenced by highlight(), SMESHGUI_ConvToQuadOp::onApply(), SMESHGUI_ShapeByMeshOp::onElemIdChanged(), selectionMode(), selector(), and setSelectionMode().
|
private |
Referenced by startOperation().
|
private |
Referenced by onActivateObject(), and removeCustomFilters().
|
protectedinherited |
Referenced by SMESHGUI_PrecomputeOp::onCompute(), SMESHGUI_Operation::onHelp(), SMESHGUI_Add0DElemsOnAllNodesOp::SMESHGUI_Add0DElemsOnAllNodesOp(), SMESHGUI_BaseComputeOp::SMESHGUI_BaseComputeOp(), SMESHGUI_ComputeOp::SMESHGUI_ComputeOp(), SMESHGUI_EvaluateOp::SMESHGUI_EvaluateOp(), SMESHGUI_FindElemByPointOp::SMESHGUI_FindElemByPointOp(), SMESHGUI_GroupOnShapeOp::SMESHGUI_GroupOnShapeOp(), SMESHGUI_MakeNodeAtPointOp::SMESHGUI_MakeNodeAtPointOp(), SMESHGUI_MeshOrderOp::SMESHGUI_MeshOrderOp(), SMESHGUI_Operation::SMESHGUI_Operation(), SMESHGUI_ReorientFacesOp::SMESHGUI_ReorientFacesOp(), SMESHGUI_ConvToQuadOp::startOperation(), SMESHGUI_SplitBiQuadOp::startOperation(), SMESHGUI_MeshOp::startOperation(), SMESHGUI_Make2DFrom3DOp::startOperation(), and SMESHGUI_PrecomputeOp::startOperation().
|
protectedinherited |
Referenced by SMESHGUI_Operation::isApplyAndClose(), and SMESHGUI_Operation::setIsApplyAndClose().
|
private |
Referenced by abortOperation(), commitOperation(), and startOperation().