if (anEditRow >= 0 && anEditCol >= 0)
endEdit(anEditRow, anEditCol, true, false);
- QTable::insertRows(row, count);
+ QTable::insertRows( row, count );
}
//=======================================================================
// name : SMESHGUI_FilterTable::SMESHGUI_FilterTable
// Purpose : Constructor
//=======================================================================
-SMESHGUI_FilterTable::SMESHGUI_FilterTable (QWidget* parent,
+SMESHGUI_FilterTable::SMESHGUI_FilterTable( SMESHGUI* theModule,
+ QWidget* parent,
const int type)
-: QFrame(parent)
+: QFrame(parent),
+ myIsLocked( false ),
+ mySMESHGUI( theModule )
{
myEntityType = -1;
Init(type);
// name : SMESHGUI_FilterTable::SMESHGUI_FilterTable
// Purpose : Constructor
//=======================================================================
-SMESHGUI_FilterTable::SMESHGUI_FilterTable (QWidget* parent,
+SMESHGUI_FilterTable::SMESHGUI_FilterTable( SMESHGUI* theModule,
+ QWidget* parent,
const QValueList<int>& types)
-: QFrame(parent)
+: QFrame(parent),
+ myIsLocked( false ),
+ mySMESHGUI( theModule )
{
myEntityType = -1;
Init(types);
myAddWidgets[ anItem ]->SetDouble(AdditionalWidget::Tolerance, theCriterion.Tolerance);
}
- emit CretarionChanged(theRow, aType);
+ emit CriterionChanged(theRow, aType);
}
//=======================================================================
void SMESHGUI_FilterTable::onCurrentChanged (int theRow, int theCol)
{
- updateAdditionalWidget();
+ if( !myIsLocked )
+ updateAdditionalWidget();
emit CurrentChanged(theRow, theCol);
}
updateAdditionalWidget();
- emit CretarionChanged(row, entityType);
+ emit CriterionChanged(row, entityType);
}
//=======================================================================
int aSelectedRow = getFirstSelectedRow();
int aCurrCol = theTable->currentColumn();
+ myIsLocked = true;
if (toTheEnd || aSelectedRow == -1)
{
theTable->insertRows(theTable->numRows());
theTable->insertRows(aSelectedRow);
aCurrRow = aSelectedRow;
}
+ myIsLocked = false;
// Criteria
theTable->setItem(aCurrRow, 0, getCriterionItem(theTable, theType));
{
if (myLibDlg == 0)
myLibDlg = new SMESHGUI_FilterLibraryDlg(
- this, GetType(), SMESHGUI_FilterLibraryDlg::COPY_FROM);
+ mySMESHGUI, this, GetType(), SMESHGUI_FilterLibraryDlg::COPY_FROM);
else
myLibDlg->Init(GetType(), SMESHGUI_FilterLibraryDlg::COPY_FROM);
return;
if (myLibDlg == 0)
myLibDlg = new SMESHGUI_FilterLibraryDlg(
- this, GetType(), SMESHGUI_FilterLibraryDlg::ADD_TO);
+ mySMESHGUI, this, GetType(), SMESHGUI_FilterLibraryDlg::ADD_TO);
else
myLibDlg->Init(GetType(), SMESHGUI_FilterLibraryDlg::ADD_TO);
: QDialog( SMESH::GetDesktop( theModule ), theName, false,
WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),
mySMESHGUI( theModule ),
- mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ),
- myViewWindow( SMESH::GetViewWindow( theModule ) ),
- mySelector( myViewWindow->GetSelector() )
+ mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )
{
+ myViewWindow = SMESH::GetViewWindow( theModule );
+ mySelector = myViewWindow->GetSelector();
QValueList<int> aTypes;
aTypes.append(theType);
construct(aTypes);
// filter frame
- myTable = new SMESHGUI_FilterTable(aMainFrame, myTypes);
+ myTable = new SMESHGUI_FilterTable( mySMESHGUI, aMainFrame, myTypes );
myTable->SetLibsEnabled(true);
QFrame* aLine = new QFrame(myTable->GetTableGrp());
// other controls
mySourceGrp = createSourceGroup(aMainFrame);
- connect(myTable, SIGNAL(CretarionChanged(const int, const int)),
+ connect(myTable, SIGNAL(CriterionChanged(const int, const int)),
SLOT(onCriterionChanged(const int, const int)));
connect(myTable, SIGNAL(CurrentChanged(int, int)),
if (myTable->GetCriterionType(aRow) == FT_BelongToGeom ||
myTable->GetCriterionType(aRow) == FT_LyingOnGeom) {
- mySelectionMgr->installFilter(new SMESH_NumberFilter("GEOM",TopAbs_SHAPE,0,allTypes));
+ mySelectionMgr->installFilter(new GEOM_SelectionFilter( aStudy, true ));
} else if (myTable->GetCriterionType(aRow) == FT_BelongToPlane) {
mySelectionMgr->installFilter(new GEOM_FaceFilter( aStudy, StdSelect_Plane ) );
} else {
if (myIsSelectionChanged) {
- mySelectionMgr->installFilter(new SMESH_NumberFilter ("This filter deactivates selection",TopAbs_SHAPE,0,allTypes));
+ mySelectionMgr->installFilter( new GEOM_TypeFilter( aStudy, -1 ) ); // This filter deactivates selection
}
}
}