Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __KDCHARTDIAGRAMOBSERVER_H_
00024 #define __KDCHARTDIAGRAMOBSERVER_H_
00025
00026 #include "KDChartGlobal.h"
00027
00028 #include <QObject>
00029 #include <QPointer>
00030 #include <QModelIndex>
00031
00032 class QAbstractItemModel;
00033
00034 namespace KDChart {
00035
00036 class AbstractDiagram;
00037
00042 class KDCHART_EXPORT DiagramObserver : public QObject
00043 {
00044 Q_OBJECT
00045 public:
00049 explicit DiagramObserver( AbstractDiagram * diagram, QObject* parent = 0 );
00050 ~DiagramObserver();
00051
00052 const AbstractDiagram* diagram() const;
00053 AbstractDiagram* diagram();
00054
00055 Q_SIGNALS:
00058 void diagramDestroyed( AbstractDiagram* diagram );
00060 void diagramAboutToBeDestroyed( AbstractDiagram* diagram );
00062 void diagramDataChanged( AbstractDiagram* diagram );
00064 void diagramDataHidden( AbstractDiagram* diagram );
00066 void diagramAttributesChanged( AbstractDiagram* diagram );
00067
00068 private Q_SLOTS:
00069 void slotDestroyed(QObject*);
00070 void slotAboutToBeDestroyed();
00071 void slotHeaderDataChanged(Qt::Orientation,int,int);
00072 void slotDataChanged(QModelIndex,QModelIndex);
00073 void slotDataChanged();
00074 void slotDataHidden();
00075 void slotAttributesChanged();
00076 void slotAttributesChanged(QModelIndex,QModelIndex);
00077 void slotModelsChanged();
00078
00079 private:
00080 void init();
00081
00082 AbstractDiagram* m_diagram;
00083 QPointer<QAbstractItemModel> m_model;
00084 QPointer<QAbstractItemModel> m_attributesmodel;
00085 };
00086 }
00087
00088 #endif // KDChartDiagramObserver_H