Mercurial > bellaciao
diff layout_builder.h @ 8:c63d67895cbe
layout designer: first draft
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 24 Aug 2011 20:38:55 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/layout_builder.h Wed Aug 24 20:38:55 2011 +0200 @@ -0,0 +1,64 @@ +/* +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/>. +*/ + +#ifndef LAYOUT_BUILDER_H +#define LAYOUT_BUILDER_H + + +#include <QtGui> +#include "ui_layout_builder.h" +#include "layout_widget.h" + +typedef enum +{ + CONTACT_LIST, CONTACT_ITEM +} LayoutType; + +class LayoutBuilder : public QWidget, protected Ui::LayoutBuilderUI +{ + Q_OBJECT + + public: + LayoutBuilder(QWidget* parent=0); + virtual ~LayoutBuilder(); + const QHash<QString, LayoutWidget*>& getLayoutWidgetsDict(); + + protected: + void addWidget(LayoutWidget* widget); + +}; + +class LayoutBuilderContactList : public LayoutBuilder +{ + Q_OBJECT + + public: + LayoutBuilderContactList(QWidget* parent=0); + ~LayoutBuilderContactList(); +}; + +class LayoutBuilderFactory +{ + public: + LayoutBuilder* Create(LayoutType type=CONTACT_ITEM, QWidget* parent=0); + +}; + + + +#endif