insilmaril@623: #ifndef ATTRIBUTEDIALOG_H insilmaril@623: #define ATTRIBUTEDIALOG_H insilmaril@623: insilmaril@626: #include "attribute.h" insilmaril@626: #include "branchobj.h" insilmaril@623: insilmaril@623: #include insilmaril@623: #include insilmaril@626: #include insilmaril@626: #include insilmaril@626: #include insilmaril@626: #include insilmaril@626: insilmaril@623: insilmaril@637: /*! \brief Set the dialog mode */ insilmaril@637: enum AttributeDialogMode { insilmaril@637: Definition, //!< Edit attribute definitions (AttributeDef) insilmaril@637: Object //!< Edit attributes of OrnamentedObj insilmaril@637: }; insilmaril@637: insilmaril@623: class AttributeDialog:public QDialog insilmaril@623: { insilmaril@623: Q_OBJECT insilmaril@623: public: insilmaril@623: AttributeDialog (QWidget *parent=0 ); insilmaril@626: void setTable (AttributeTable *table=0); insilmaril@626: void setBranch (BranchObj *bo); insilmaril@637: void setMode (const AttributeDialogMode &m); insilmaril@637: void updateTable(); insilmaril@623: signals: insilmaril@623: void windowClosed(); insilmaril@626: private slots: insilmaril@626: void addKey(); insilmaril@623: protected: insilmaril@623: void closeEvent(QCloseEvent*); insilmaril@623: private: insilmaril@626: QVBoxLayout *vboxLayout; insilmaril@626: QVBoxLayout *tableLayout; insilmaril@626: QHBoxLayout *hboxLayout; insilmaril@626: QPushButton *addButton; insilmaril@626: QSpacerItem *spacerItem; insilmaril@626: QPushButton *closeButton; insilmaril@626: insilmaril@637: AttributeDialogMode mode; insilmaril@626: AttributeTable *table; insilmaril@626: BranchObj *branch; insilmaril@623: }; insilmaril@623: insilmaril@623: #endif