/* * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include class QListWidget; namespace Swift { class QtFormWidget : public QWidget { Q_OBJECT public: QtFormWidget(Form::ref form, QWidget* parent = nullptr); virtual ~QtFormWidget(); Form::ref getCompletedForm(); void setEditable(bool editable); private: QWidget* createWidget(FormField::ref field, const FormField::Type type, const size_t index); QListWidget* createList(FormField::ref field); template void setEnabled(QWidget* rawWidget, bool editable); template void setEditable(QWidget* rawWidget, bool editable); std::map fields_; Form::ref form_; }; }