X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_StricklerTableDlg.h;h=11704db432d2c253edc8ce99ee5509c53326df41;hb=ad4482443835973ac9ee0ce2024f60f91adff716;hp=95f1261bf874ca7624ae10d558dcd340568bdf89;hpb=274017fd7e5b5e7104a8442da56ee164bc0b2fda;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h index 95f1261b..11704db4 100644 --- a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h +++ b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h @@ -20,22 +20,91 @@ #define HYDROGUI_STRICKLERTABLEDLG_H #include "HYDROGUI_InputPanel.h" +#include +#include +class HYDROData_StricklerTable; + +class QGroupBox; class QLineEdit; +class QToolButton; +class QTableWidget; +class QtxFilePath; class HYDROGUI_StricklerTableDlg : public HYDROGUI_InputPanel { - Q_OBJECT + Q_OBJECT + +public: + enum { Edit, Import, Export }; public: - HYDROGUI_StricklerTableDlg( HYDROGUI_Module* theModule, const QString& theTitle ); - virtual ~HYDROGUI_StricklerTableDlg(); + HYDROGUI_StricklerTableDlg( HYDROGUI_Module* theModule, const QString& theTitle, int theType ); + virtual ~HYDROGUI_StricklerTableDlg(); + + void reset(); + + QString getFileName() const; + void setFileName( const QString& theName ); + + void setTableName( const QString& theName ); + QString getTableName() const; + + bool isTableNameReadOnly() const; + void setTableNameReadOnly( bool ); + + void getGuiData( Handle(HYDROData_StricklerTable)& theTable ) const; + void setGuiData( const Handle(HYDROData_StricklerTable)& theTable ); + +protected: + void updateControls(); + void removeRows( const QList theRows ); + +protected Q_SLOTS: + void onBrowse(); + + void onAddCoefficient(); + void onRemoveCoefficient(); + void onClearCoefficients(); + + void onSelectionChanged(); - void setStricklerTableName( const QString& theName ); - QString getStricklerTableName() const; +Q_SIGNALS: + void fileSelected( const QString& theFileName ); private: - QLineEdit* myName; + friend class test_HYDROData_StricklerTable; + +private: + int myType; + QLineEdit* myFileName; //!< Source Strickler table file name input field + QLineEdit* myName; //!< The Strickler table name input field + QLineEdit* myAttrName; //!< The Strickler table attribute's name input field + QTableWidget* myTable; //!< The table of Strickler coefficients + QToolButton* myAddBtn; //!< The add Strickler coefficient button + QToolButton* myRemoveBtn; //!< The remove Strickler coefficient button + QToolButton* myClearBtn; //!< The clear all Strickler coefficients button +}; + +class HYDROGUI_ColorDelegate : public QAbstractItemDelegate +{ +public: + HYDROGUI_ColorDelegate( QWidget* theParent ); + virtual ~HYDROGUI_ColorDelegate(); + + virtual void paint( QPainter* thePainter, const QStyleOptionViewItem& theOption, + const QModelIndex& theIndex ) const; + + virtual QWidget* createEditor( QWidget* theParent, + const QStyleOptionViewItem& theOption, + const QModelIndex& theIndex ) const; + + virtual void setEditorData( QWidget* theEditor, const QModelIndex& theIndex ) const; + + virtual void setModelData( QWidget* theEditor, QAbstractItemModel* theModel, + const QModelIndex& theIndex ) const; + + virtual QSize sizeHint( const QStyleOptionViewItem& theOption, const QModelIndex& theIndex ) const; }; #endif