blob: 9c0198305ae73ac1d4236fdbe2e3e4d9f36c1694 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/*
* Copyright (c) 2011-2014 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <QWidget>
#include <map>
#include <Swiften/Elements/Form.h>
class QListWidget;
namespace Swift {
class QtFormWidget : public QWidget {
Q_OBJECT
public:
QtFormWidget(Form::ref form, QWidget* parent = NULL);
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<class T> void setEnabled(QWidget* rawWidget, bool editable);
template<class T> void setEditable(QWidget* rawWidget, bool editable);
std::map<std::string, QWidget*> fields_;
Form::ref form_;
};
}
|