#ifndef CAMPWIZARD_H #define CAMPWIZARD_H #include #include "data/camp-data.h" #include #include #include class AddressHelper : public QObject { Q_OBJECT Q_PROPERTY(QSharedPointer address READ address WRITE setAddress) public: AddressHelper(QObject *parent = NULL); QSharedPointer address() const; void setAddress(const QSharedPointer &address); AddressbookDataPtr addr() const; void setAddr(const AddressbookDataPtr &address); AddressbookDataPtr newAddress(); AddressbookDataPtr copyAddress(); private: AddressbookDataPtr m_address; AddressbookDataPtr m_copyAddress; }; namespace Ui { class CampWizard; } class CampWizard : public QWizard { Q_OBJECT public: explicit CampWizard(QWidget *parent = 0); ~CampWizard(); void setData(const CampDataPtr &data); private slots: void on_btnAdd_clicked(); void on_address_currentIndexChanged(int index); void on_btnRemove_clicked(); void on_btnOwner_clicked(); void on_groupNew_clicked(bool checked); private: Ui::CampWizard *ui; CampDataPtr m_data; ObjectBinder *m_dataBinder; ObjectBinder *m_addrHelperBinder; ObjectBinder *m_addressBinder; AddressHelper *m_addrHelper; AutoTableModel *m_peopleModel; bool m_bindAddrCombo; }; #endif // CAMPWIZARD_H