From: Tobias Koenig Date: Sun, 14 Oct 2012 15:29:11 +0000 (+0200) Subject: Report errors to declarative environment X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=0cb6d29684b9316982f16ce7fa39b47ec4fa6d96;p=konrad%2FDeclarativeWidgets.git Report errors to declarative environment --- diff --git a/declarativeobjects.cpp b/declarativeobjects.cpp index f04c271..84ab8d8 100644 --- a/declarativeobjects.cpp +++ b/declarativeobjects.cpp @@ -2,6 +2,8 @@ #include "qmetaobjectbuilder_p.h" +#include + #include /* @@ -45,7 +47,7 @@ const QMetaObject* ClassName::metaObject() const \ { \ return &ClassName::staticMetaObject; \ } \ -void* ClassName::qt_metacast(const char *name) \ +void* ClassName::qt_metacast(const char*) \ { \ return 0; \ } \ @@ -190,7 +192,7 @@ void DeclarativeHBoxLayout::dataAppend(QObject *object) m_children.append(object); m_layout->addLayout(qobject_cast(vboxLayout->object())); } else { - // TODO: error unknown type + qmlInfo(this) << "Can not contain element of type " << object->metaObject()->className(); } } @@ -246,7 +248,7 @@ void DeclarativeVBoxLayout::dataAppend(QObject *object) m_children.append(object); m_layout->addLayout(qobject_cast(vboxLayout->object())); } else { - // TODO: error unknown type + qmlInfo(this) << "Can not contain element of type " << object->metaObject()->className(); } } @@ -293,7 +295,11 @@ void DeclarativeWidget::dataAppend(QObject *object) DeclarativeVBoxLayout *vboxLayout = dynamic_cast(object); if (widget) { - // TODO: error when layout is set + if (m_widget->layout()) { + qmlInfo(this) << "Can not add Widget since a Layout is set already"; + return; + } + m_children.append(object); qobject_cast(widget->object())->setParent(m_widget); } else if (hboxLayout) { @@ -307,7 +313,7 @@ void DeclarativeWidget::dataAppend(QObject *object) m_children.append(object); m_widget->setLayout(qobject_cast(vboxLayout->object())); } else { - // TODO: error unknown type + m_children.append(object); } } diff --git a/declarativeobjects_p.h b/declarativeobjects_p.h index cfb3bb9..78158d8 100644 --- a/declarativeobjects_p.h +++ b/declarativeobjects_p.h @@ -146,7 +146,26 @@ class DeclarativeTabWidget : public DeclarativeWidget QPointer m_tabWidget; QVector m_children; }; +/* +class DeclarativeTab : public DeclarativeWidget +{ + DECLARATIVE_OBJECT + + public: + DeclarativeTab(QObject *parent = 0); + ~DeclarativeTab(); + virtual QObject* object(); + + private: + virtual void dataAppend(QObject *); + virtual int dataCount(); + virtual QObject *dataAt(int); + virtual void dataClear(); + + QObject* m_child; +}; +*/ class DeclarativePushButton : public DeclarativeWidget { DECLARATIVE_OBJECT