X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_FilterDlg.h;h=7427fe7be1ed296af42b299e150602fac76e2424;hb=24d6fd82e6e0f8daa90e318e365226e81e7816ee;hp=f63d2b2e0a134802a10023875517e0ad9c550238;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_FilterDlg.h b/src/SMESHGUI/SMESHGUI_FilterDlg.h index f63d2b2e0..7427fe7be 100755 --- a/src/SMESHGUI/SMESHGUI_FilterDlg.h +++ b/src/SMESHGUI/SMESHGUI_FilterDlg.h @@ -34,9 +34,10 @@ #include #include -#include "SALOME_Selection.h" +#include "SalomeApp_SelectionMgr.h" #include "SALOME_InteractiveObject.hxx" #include "SALOME_DataMapOfIOMapOfInteger.hxx" +#include "SVTK_Selection.h" #include @@ -55,17 +56,19 @@ class QStringList; class QTable; class QTableItem; class QWidgetStack; -class SALOME_Selection; +class SalomeApp_SelectionMgr; class SMESHGUI; class SMESHGUI_FilterLibraryDlg; +class SVTK_Selector; +class SVTK_ViewWindow; -/* - Class : SMESHGUI_FilterTable - Description : Frame containig - - Button group for switching entity type - - Table for displaying filter criterions - - Buttons for editing table -*/ +/*! + * Class : SMESHGUI_FilterTable + * Description : Frame containig + * - Button group for switching entity type + * - Table for displaying filter criterions + * - Buttons for editing table + */ class SMESHGUI_FilterTable : public QFrame { @@ -78,66 +81,66 @@ class SMESHGUI_FilterTable : public QFrame typedef QMap TableMap; public: - - SMESHGUI_FilterTable( QWidget* parent, - const int type ); - SMESHGUI_FilterTable( QWidget* parent, - const QValueList& type ); + SMESHGUI_FilterTable( SMESHGUI*, + QWidget* parent, + const int type); + SMESHGUI_FilterTable( SMESHGUI*, + QWidget* parent, + const QValueList& type); virtual ~SMESHGUI_FilterTable(); - - void Init( const int type ); - void Init( const QValueList& types ); + + void Init (const int type); + void Init (const QValueList& types); QGroupBox* GetTableGrp(); - bool IsValid( const bool = true, const int theEntityType = -1 ) const; + bool IsValid (const bool = true, const int theEntityType = -1) const; int GetType() const; - void SetType( const int ); + void SetType (const int); void RestorePreviousEntityType(); - int NumRows( const int theEntityType = -1 ) const; - void Clear( const int theEntityType = -1 ); - void SetEditable( const bool ); - void SetEnabled( const bool ); - void SetLibsEnabled( const bool ); + int NumRows (const int theEntityType = -1) const; + void Clear (const int theEntityType = -1); + void SetEditable (const bool); + void SetEnabled (const bool); + void SetLibsEnabled (const bool); bool IsEditable() const; - int GetCriterionType( const int theRow, const int theType = -1 ) const; - - void GetCriterion( const int theRow, + int GetCriterionType (const int theRow, const int theType = -1) const; + + void GetCriterion (const int theRow, SMESH::Filter::Criterion& theCriterion, - const int theEntityType = -1 ) const; + const int theEntityType = -1) const; - void SetCriterion( const int theRow, + void SetCriterion (const int theRow, const SMESH::Filter::Criterion& theCriterion, - const int theEntityType = -1 ); + const int theEntityType = -1); - void AddCriterion( const SMESH::Filter::Criterion& theCriterion, - const int theEntityType = -1 ); - - void Copy( const SMESHGUI_FilterTable* ); - void SetValidity( const bool ); + void AddCriterion (const SMESH::Filter::Criterion& theCriterion, + const int theEntityType = -1); - bool CurrentCell( int& theRow, int& theCol ) const; - void SetThreshold( const int theRow, + void Copy (const SMESHGUI_FilterTable*); + void SetValidity (const bool); + + bool CurrentCell (int& theRow, int& theCol) const; + void SetThreshold (const int theRow, const QString& theText, - const int theEntityType = -1 ); + const int theEntityType = -1); - bool GetThreshold( const int theRow, + bool GetThreshold (const int theRow, QString& theText, - const int theEntityType = -1 ); + const int theEntityType = -1); void Update(); - signals: void CopyFromClicked(); void AddToClicked(); - void EntityTypeChanged( const int ); + void EntityTypeChanged (const int); void NeedValidation(); - void CretarionChanged( const int theRow, const int theEntityType ); - void CurrentChanged( int, int ); - + void CriterionChanged (const int theRow, const int theEntityType); + void CurrentChanged (int, int); + private slots: void onAddBtn(); @@ -146,31 +149,32 @@ private slots: void onClearBtn(); void onCopyFromBtn(); void onAddToBtn(); - void onCriterionChanged( int, int ); - void onEntityType( int ); - void onCurrentChanged( int, int ); + void onCriterionChanged (int, int); + void onEntityType (int); + void onCurrentChanged (int, int); private: - void addRow( Table*, const int, const bool toTheEnd = true ); - QTableItem* getCriterionItem( QTable*, const int ); - QTableItem* getCompareItem( QTable* ); - QTableItem* getUnaryItem( QTable* ); - QTableItem* getBinaryItem( QTable* ); - const QMap& getCriteria( const int theType ) const; + void addRow (Table*, const int, const bool toTheEnd = true); + QTableItem* getCriterionItem (QTable*, const int); + QTableItem* getCompareItem (QTable*); + QTableItem* getUnaryItem (QTable*); + QTableItem* getBinaryItem (QTable*); + const QMap& getCriteria (const int theType) const; const QMap& getCompare() const; - Table* createTable( QWidget*, const int ); - QWidget* createAdditionalFrame( QWidget* theParent ); + Table* createTable (QWidget*, const int); + QWidget* createAdditionalFrame (QWidget* theParent); int getFirstSelectedRow() const; - void onCriterionChanged( const int, const int, const int ); - + void onCriterionChanged (const int, const int, const int); + void updateBtnState(); - void removeAdditionalWidget( QTable* theTable, const int theRow ); + void removeAdditionalWidget (QTable* theTable, const int theRow); void updateAdditionalWidget(); const QMap& getSupportedTypes() const; - + private: + SMESHGUI* mySMESHGUI; QGroupBox* myTableGrp; QGroupBox* mySwitchTableGrp; @@ -186,45 +190,47 @@ private: QButtonGroup* myEntityTypeGrp; int myEntityType; int myIsValid; - + bool myIsLocked; + SMESHGUI_FilterLibraryDlg* myLibDlg; - QWidgetStack* myWgStack; + QWidgetStack* myWgStack; + QMap myAddWidgets; }; -/* - Class : SMESHGUI_FilterDlg - Description : Dialog to specify filters for VTK viewer -*/ +/*! + * Class : SMESHGUI_FilterDlg + * Description : Dialog to specify filters for VTK viewer + */ class SMESHGUI_FilterDlg : public QDialog -{ +{ Q_OBJECT // Source elements to be selected enum { Mesh, Selection, Dialog, None }; - + // Buttons enum { BTN_OK, BTN_Cancel, BTN_Apply, BTN_Close }; public: - SMESHGUI_FilterDlg( QWidget* parent, + SMESHGUI_FilterDlg( SMESHGUI*, const QValueList& types, - const char* name = 0 ); - - SMESHGUI_FilterDlg( QWidget* parent, + const char* name = 0); + + SMESHGUI_FilterDlg( SMESHGUI*, const int type, - const char* name = 0 ); + const char* name = 0); virtual ~SMESHGUI_FilterDlg(); - void Init( const QValueList& types ); - void Init( const int type ); + void Init (const QValueList& types); + void Init (const int type); - void SetSelection( SALOME_Selection* ); - void SetMesh( SMESH::SMESH_Mesh_ptr ); - void SetSourceWg( QWidget* ); + void SetSelection(); + void SetMesh (SMESH::SMESH_Mesh_ptr); + void SetSourceWg (QWidget*); static SMESH::Filter::Criterion createCriterion(); @@ -239,35 +245,35 @@ private slots: void onClose(); void onDeactivate(); void onSelectionDone(); - void onCriterionChanged( const int, const int ); - void onCurrentChanged( int, int ); - + void onCriterionChanged (const int, const int); + void onCurrentChanged (int, int); + private: - void construct( const QValueList& types ); + void construct (const QValueList& types); - void closeEvent( QCloseEvent* e ); - void enterEvent ( QEvent * ); + void closeEvent (QCloseEvent*); + void enterEvent (QEvent*); // dialog creation - QFrame* createButtonFrame( QWidget* ); - QFrame* createMainFrame( QWidget* ); - QButtonGroup* createSourceGroup( QWidget* ); + QFrame* createButtonFrame (QWidget*); + QFrame* createMainFrame (QWidget*); + QButtonGroup* createSourceGroup (QWidget*); void updateMainButtons(); - + // execution bool isValid() const; - bool createFilter( const int theType ); + bool createFilter (const int theType); void insertFilterInViewer(); - void selectInViewer( const int theType, - const QValueList& theIds ); - void filterSource( const int theType, - QValueList& theResIds ); - void filterSelectionSource( const int theType, - QValueList& theResIds ); - void getIdsFromWg( const QWidget*, QValueList& ) const; - void setIdsToWg( QWidget*, const QValueList& ); - Selection_Mode getSelMode( const int ) const; + void selectInViewer (const int theType, + const QValueList& theIds); + void filterSource (const int theType, + QValueList& theResIds); + void filterSelectionSource (const int theType, + QValueList& theResIds); + void getIdsFromWg (const QWidget*, QValueList&) const; + void setIdsToWg (QWidget*, const QValueList&); + Selection_Mode getSelMode (const int) const; void updateSelection(); private: @@ -285,7 +291,8 @@ private: // initial fields QValueList myTypes; SMESHGUI* mySMESHGUI; - SALOME_Selection* mySelection; + SalomeApp_SelectionMgr* mySelectionMgr; + SVTK_Selector* mySelector; SMESH::SMESH_Mesh_ptr myMesh; QWidget* mySourceWg; @@ -297,23 +304,3 @@ private: }; #endif - - - - - - - - - - - - - - - - - - - -