#define HYDROGUI_STRICKLERTABLEDLG_H
#include "HYDROGUI_InputPanel.h"
+#include <QAbstractItemDelegate>
+#include <Standard_Type.hxx>
class HYDROData_StricklerTable;
Q_OBJECT
public:
- struct StricklerCoefficient
- {
- QString myType;
- double myCoefficient;
-
- StricklerCoefficient( const QString& theType,
- double theCoefficient )
- : myType( theType ), myCoefficient( theCoefficient ) {}
- };
- typedef QList<StricklerCoefficient> StricklerCoefficientList;
-
enum { Edit, Import, Export };
public:
bool isTableNameReadOnly() const;
void setTableNameReadOnly( bool );
- StricklerCoefficientList getData() const;
- void setData(const StricklerCoefficientList& theData);
+ void getGuiData( Handle(HYDROData_StricklerTable)& theTable ) const;
+ void setGuiData( const Handle(HYDROData_StricklerTable)& theTable );
protected:
void updateControls();
void fileSelected( const QString& theFileName );
private:
- int myType;
- QLineEdit* myFileName; //!< Source Strickler table file name input field
- QLineEdit* myName; //!< The Strickler table 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
+ 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