myLibDlg = 0;
}
+ else
+ {
+ QList<int>::const_iterator typeIt = theTypes.begin();
+ for ( ; typeIt != theTypes.end(); ++typeIt ) {
+ if ( !myTables[ *typeIt ] ) {
+ Table* aTable = createTable(mySwitchTableGrp, *typeIt);
+ myTables[ *typeIt ] = aTable;
+ ((QVBoxLayout*)mySwitchTableGrp->layout())->addWidget(myTables[ *typeIt ]);
+ }
+ }
+ }
// Hide buttons of entity types if necessary
const QMap<int, QString>& aSupportedTypes = getSupportedTypes();
aTable->blockSignals( isSignalsBlocked );
}
+ // set Compare and enable/desable Threshold
if ((aType == SMESH::NODE && (aCriterionType == SMESH::FT_FreeNodes ||
aCriterionType == SMESH::FT_EqualNodes )) ||
(aType == SMESH::EDGE && (aCriterionType == SMESH::FT_FreeBorders ||
if (aTypes.isEmpty())
{
aTypes[ SMESH::NODE ] = tr("NODES");
+ aTypes[ SMESH::ELEM0D ] = tr("ELEM0D");
aTypes[ SMESH::BALL ] = tr("BALLS");
aTypes[ SMESH::EDGE ] = tr("EDGES");
aTypes[ SMESH::FACE ] = tr("FACES");
}
return aCriteria;
}
+ else if (theType == SMESH::ELEM0D)
+ {
+ static QMap<int, QString> aCriteria;
+ if (aCriteria.isEmpty())
+ {
+ aCriteria[ SMESH::FT_RangeOfIds ] = tr("RANGE_OF_IDS");
+ aCriteria[ SMESH::FT_BelongToGeom ] = tr("BELONG_TO_GEOM");
+ aCriteria[ SMESH::FT_BelongToPlane ] = tr("BELONG_TO_PLANE");
+ aCriteria[ SMESH::FT_BelongToCylinder ] = tr("BELONG_TO_CYLINDER");
+ aCriteria[ SMESH::FT_BelongToGenSurface ] = tr("BELONG_TO_GENSURFACE");
+ aCriteria[ SMESH::FT_GroupColor ] = tr("GROUP_COLOR");
+ }
+ return aCriteria;
+ }
else // SMESH::ALL
{
static QMap<int, QString> aCriteria;
// name : SMESHGUI_FilterDlg::Init
// Purpose : Init dialog fields, connect signals and slots, show dialog
//=======================================================================
-void SMESHGUI_FilterDlg::Init (const int type)
+void SMESHGUI_FilterDlg::Init (const int type, const bool setInViewer)
{
QList<int> aTypes;
aTypes.append(type);
- Init(aTypes);
+ Init(aTypes,setInViewer);
}
//=======================================================================
// name : SMESHGUI_FilterDlg::Init
// Purpose : Init dialog fields, connect signals and slots, show dialog
//=======================================================================
-void SMESHGUI_FilterDlg::Init (const QList<int>& theTypes)
+void SMESHGUI_FilterDlg::Init (const QList<int>& theTypes, const bool setInViewer)
{
mySourceWg = 0;
myTypes = theTypes;
{
int aType = theTypes.first();
if (aType == SMESH::NODE ) setWindowTitle(tr("NODES_TLT"));
+ else if (aType == SMESH::ELEM0D) setWindowTitle(tr("ELEM0D_TLT"));
+ else if (aType == SMESH::BALL ) setWindowTitle(tr("BALL_TLT"));
else if (aType == SMESH::EDGE ) setWindowTitle(tr("EDGES_TLT"));
else if (aType == SMESH::FACE ) setWindowTitle(tr("FACES_TLT"));
else if (aType == SMESH::VOLUME) setWindowTitle(tr("VOLUMES_TLT"));
if (myInsertState.contains(theTypes.first()))
mySetInViewer->setChecked(myInsertState[ theTypes.first() ]);
else
- mySetInViewer->setChecked(true);
+ mySetInViewer->setChecked(setInViewer);
mySourceGrp->button(myApplyToState.contains(theTypes.first()) ?
myApplyToState[ theTypes.first() ] :
switch (theType)
{
case SMESH::NODE : return NodeSelection;
+ case SMESH::ELEM0D : return Elem0DSelection;
+ case SMESH::BALL : return BallSelection;
case SMESH::EDGE : return EdgeSelection;
case SMESH::FACE : return FaceSelection;
case SMESH::VOLUME : return VolumeSelection;
//=======================================================================
// name : SMESHGUI_FilterDlg::SetSourceWg
-// Purpose : Set widget of parent dialog containing idsto be filtered if
+// Purpose : Set widget of parent dialog containing ids to be filtered if
// user select corresponding source radio button
//=======================================================================
void SMESHGUI_FilterDlg::SetSourceWg (QWidget* theWg,
}
else
{
+ mySelector->SetSelectionMode( getSelMode( myTable->GetType() ));
+
if (myIsSelectionChanged) {
// mySelectionMgr->installFilter( new GEOM_TypeFilter( aStudy, -1 ) ); // This filter deactivates selection
// Impossible to select any object in the OB on the second opening of FilterDlg