Mercurial > bellaciao
view layout_builder.cpp @ 9:0d7875c26974
layout designer: hints on widget placement during drag and drop
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 26 Aug 2011 12:15:21 +0200 |
parents | c63d67895cbe |
children |
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() { } 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) { addWidget(new LayoutWidget("List")); addWidget(new LayoutWidget("Box")); layoutView->setLayoutWidgets(getLayoutWidgetsDict()); } LayoutBuilderContactList::~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; }