Add support for QSlider
authorTobias Koenig <tobias.koenig@kdab.com>
Sun, 14 Oct 2012 13:10:53 +0000 (15:10 +0200)
committerTobias Koenig <tobias.koenig@kdab.com>
Sun, 14 Oct 2012 13:10:53 +0000 (15:10 +0200)
declarativeobjects.cpp
declarativeobjects_p.h
declarativewidgetdocument.cpp

index 0aed3a4..f04c271 100644 (file)
@@ -437,3 +437,24 @@ QObject* DeclarativeCheckBox::object()
 }
 
 CUSTOM_METAOBJECT(DeclarativeCheckBox, DeclarativeWidget, QCheckBox, m_checkBox)
+
+// DeclarativeSlider
+DeclarativeSlider::DeclarativeSlider(QObject *parent)
+  : DeclarativeWidget(parent)
+  , m_slider(new QSlider)
+{
+  m_slider->setOrientation(Qt::Horizontal);
+  connectAllSignals(m_slider, this);
+}
+
+DeclarativeSlider::~DeclarativeSlider()
+{
+  delete m_slider;
+}
+
+QObject* DeclarativeSlider::object()
+{
+  return m_slider;
+}
+
+CUSTOM_METAOBJECT(DeclarativeSlider, DeclarativeWidget, QSlider, m_slider)
index b6cd1d3..cfb3bb9 100644 (file)
@@ -7,8 +7,9 @@
 #include <QtGui/QHBoxLayout>
 #include <QtGui/QLabel>
 #include <QtGui/QPushButton>
-#include <QtGui/QVBoxLayout>
+#include <QtGui/QSlider>
 #include <QtGui/QTabWidget>
+#include <QtGui/QVBoxLayout>
 #include <QtDeclarative/QDeclarativeListProperty>
 
 #define DECLARATIVE_OBJECT \
@@ -174,4 +175,18 @@ class DeclarativeCheckBox : public DeclarativeWidget
     QPointer<QCheckBox> m_checkBox;
 };
 
+class DeclarativeSlider : public DeclarativeWidget
+{
+  DECLARATIVE_OBJECT
+
+  public:
+    DeclarativeSlider(QObject *parent = 0);
+    ~DeclarativeSlider();
+
+    virtual QObject* object();
+
+  private:
+    QPointer<QSlider> m_slider;
+};
+
 #endif
index 272a971..98f7979 100644 (file)
@@ -36,6 +36,7 @@ DeclarativeWidgetDocument::DeclarativeWidgetDocument(const QUrl &url, QObject *p
   qmlRegisterType<DeclarativeTabWidget>("QtGui", 1, 0, "TabWidget");
   qmlRegisterType<DeclarativePushButton>("QtGui", 1, 0, "PushButton");
   qmlRegisterType<DeclarativeCheckBox>("QtGui", 1, 0, "CheckBox");
+  qmlRegisterType<DeclarativeSlider>("QtGui", 1, 0, "Slider");
 
   d->m_component->loadUrl(d->m_url);
   if (d->m_component->isError()) {