Mercurial > bellaciao
view 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 |
line wrap: on
line source
/* Bellaciao: a Salut à Toi frontend Copyright (C) 2011 Jérôme Poisson (goffi@goffi.org) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "layout_builder.h" LayoutBuilder::LayoutBuilder(QWidget* parent) : QWidget(parent) { setupUi(this); LayoutWidgetModel* model = new LayoutWidgetModel(this); widgetsList->setModel(model); } LayoutBuilder::~LayoutBuilder() { qDebug() << "Destructeur de LayoutBuilder"; } const QHash<QString, LayoutWidget*>& LayoutBuilder::getLayoutWidgetsDict() { return dynamic_cast<LayoutWidgetModel*>(widgetsList->model())->getLayoutWidgetsDict(); } void LayoutBuilder::addWidget(LayoutWidget* widget) { dynamic_cast<LayoutWidgetModel*>(widgetsList->model())->append(widget); } LayoutBuilderContactList::LayoutBuilderContactList(QWidget* parent) : LayoutBuilder(parent) { qDebug() << "constructeur de LayoutBuilderContactList"; addWidget(new LayoutWidget("List")); addWidget(new LayoutWidget("Box")); layoutView->setLayoutWidgets(getLayoutWidgetsDict()); } LayoutBuilderContactList::~LayoutBuilderContactList() { qDebug() << "Destructeur de LayoutBuilderContactList"; } LayoutBuilder* LayoutBuilderFactory::Create(LayoutType type, QWidget* parent) { switch (type) { case CONTACT_LIST: return new LayoutBuilderContactList(parent); break; case CONTACT_ITEM: break; default: qCritical() << "Unknwon LayoutBuilder type"; } return 0; }