libqutim  0.3.1.0
declarativeview.h
Go to the documentation of this file.
1 #ifndef QUTIM_SDK_0_3_DECLARATIVEVIEW_H
2 #define QUTIM_SDK_0_3_DECLARATIVEVIEW_H
3 #include <QGraphicsView>
4 #include "libqutim_global.h"
5 
6 class QDeclarativeEngine;
7 class QDeclarativeContext;
8 class QDeclarativeItem;
9 class QUrl;
10 
11 namespace qutim_sdk_0_3 {
12 
13 class DeclarativeViewPrivate;
14 
15 class LIBQUTIM_EXPORT DeclarativeView : public QGraphicsView
16 {
17  Q_OBJECT
18  Q_DECLARE_PRIVATE(DeclarativeView)
19 
20  Q_PROPERTY(Status status READ status NOTIFY statusChanged)
21  Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true)
22  Q_ENUMS(Status ResizeMode)
23 public:
24  explicit DeclarativeView(QWidget *parent = 0);
25  virtual ~DeclarativeView();
26 
27  static void setEngine(QDeclarativeEngine *engine);
28  static QDeclarativeEngine *engine();
29 
30  void setSource(const QUrl &source);
31  QUrl source() const;
32  QDeclarativeContext *rootContext() const;
33  QObject *rootObject() const;
34  enum Status { Null, Ready, Loading, Error };
35  Status status() const;
36  enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView };
37  ResizeMode resizeMode() const;
38  void setResizeMode(ResizeMode);
39 signals:
40  void sceneResized(const QSize &size);
41  void statusChanged(qutim_sdk_0_3::DeclarativeView::Status);
42 protected:
43  virtual void resizeEvent(QResizeEvent *event);
44  virtual void setRootObject(QObject *object);
45  virtual bool eventFilter(QObject *obj, QEvent *ev);
46 
47  QScopedPointer<DeclarativeViewPrivate> d_ptr;
48 private:
49  Q_PRIVATE_SLOT(d_func(), void _q_updateView())
50  Q_PRIVATE_SLOT(d_func(), void _q_continueExecute())
51 };
52 
53 } // namespace qutim_sdk_0_3
54 
55 #endif // QUTIM_SDK_0_3_DECLARATIVEVIEW_H

Generated by Doxygen