Mercurial > bellaciao
comparison layout_builder.cpp @ 8:c63d67895cbe
layout designer: first draft
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 24 Aug 2011 20:38:55 +0200 |
parents | |
children | 0d7875c26974 |
comparison
equal
deleted
inserted
replaced
7:017925589d4c | 8:c63d67895cbe |
---|---|
1 /* | |
2 Bellaciao: a Salut à Toi frontend | |
3 Copyright (C) 2011 Jérôme Poisson (goffi@goffi.org) | |
4 | |
5 This program is free software: you can redistribute it and/or modify | |
6 it under the terms of the GNU Affero General Public License as published by | |
7 the Free Software Foundation, either version 3 of the License, or | |
8 (at your option) any later version. | |
9 | |
10 This program is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 GNU Affero General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Affero General Public License | |
16 along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 */ | |
18 | |
19 #include "layout_builder.h" | |
20 | |
21 | |
22 LayoutBuilder::LayoutBuilder(QWidget* parent) | |
23 : QWidget(parent) | |
24 { | |
25 setupUi(this); | |
26 LayoutWidgetModel* model = new LayoutWidgetModel(this); | |
27 widgetsList->setModel(model); | |
28 } | |
29 | |
30 LayoutBuilder::~LayoutBuilder() | |
31 { | |
32 qDebug() << "Destructeur de LayoutBuilder"; | |
33 } | |
34 | |
35 const QHash<QString, LayoutWidget*>& LayoutBuilder::getLayoutWidgetsDict() | |
36 { | |
37 return dynamic_cast<LayoutWidgetModel*>(widgetsList->model())->getLayoutWidgetsDict(); | |
38 } | |
39 | |
40 void LayoutBuilder::addWidget(LayoutWidget* widget) | |
41 { | |
42 dynamic_cast<LayoutWidgetModel*>(widgetsList->model())->append(widget); | |
43 } | |
44 | |
45 LayoutBuilderContactList::LayoutBuilderContactList(QWidget* parent) | |
46 : LayoutBuilder(parent) | |
47 { | |
48 qDebug() << "constructeur de LayoutBuilderContactList"; | |
49 addWidget(new LayoutWidget("List")); | |
50 addWidget(new LayoutWidget("Box")); | |
51 layoutView->setLayoutWidgets(getLayoutWidgetsDict()); | |
52 } | |
53 | |
54 LayoutBuilderContactList::~LayoutBuilderContactList() | |
55 { | |
56 qDebug() << "Destructeur de LayoutBuilderContactList"; | |
57 } | |
58 | |
59 LayoutBuilder* LayoutBuilderFactory::Create(LayoutType type, QWidget* parent) | |
60 { | |
61 switch (type) { | |
62 case CONTACT_LIST: | |
63 return new LayoutBuilderContactList(parent); | |
64 break; | |
65 case CONTACT_ITEM: | |
66 break; | |
67 default: | |
68 qCritical() << "Unknwon LayoutBuilder type"; | |
69 } | |
70 | |
71 return 0; | |
72 } |