X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_StricklerTableDlg.h;h=11704db432d2c253edc8ce99ee5509c53326df41;hb=ad4482443835973ac9ee0ce2024f60f91adff716;hp=282648de9455229c1ba88c1c51f5f86c03f2ba2a;hpb=35d2822e3e33ca225dcc1ba24e6684a43e3bb2d1;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h index 282648de..11704db4 100644 --- a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h +++ b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h @@ -20,42 +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 setIsEdit( const bool theIsEdit ); - void reset(); + void setTableName( const QString& theName ); + QString getTableName() const; - QString getFileName() const; - void setFileName( const QString& theName ); + bool isTableNameReadOnly() const; + void setTableNameReadOnly( bool ); - void setStricklerTableName( const QString& theName ); - QString getStricklerTableName() const; + void getGuiData( Handle(HYDROData_StricklerTable)& theTable ) const; + void setGuiData( const Handle(HYDROData_StricklerTable)& theTable ); -protected slots: - void onBrowse(); +protected: + void updateControls(); + void removeRows( const QList theRows ); -signals: - void fileSelected( const QString& theFileName ); +protected Q_SLOTS: + void onBrowse(); + + void onAddCoefficient(); + void onRemoveCoefficient(); + void onClearCoefficients(); + + void onSelectionChanged(); + +Q_SIGNALS: + void fileSelected( const QString& theFileName ); private: - QGroupBox* myFileNameGroup; //!< The group for the source Strickler table file selection - QLineEdit* myFileName; //!< Source Strickler table file name input field - QToolButton* myBrowseBtn; + 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; - QGroupBox* myNameGroup; //!< The group for the Strickler table name input field - QLineEdit* myName; //!< The Strickler table name input field + virtual void setModelData( QWidget* theEditor, QAbstractItemModel* theModel, + const QModelIndex& theIndex ) const; + virtual QSize sizeHint( const QStyleOptionViewItem& theOption, const QModelIndex& theIndex ) const; }; #endif