00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef KDGANTTVIEW_H
00026 #define KDGANTTVIEW_H
00027
00028 #include <QWidget>
00029 #include "kdganttglobal.h"
00030
00031 class QAbstractItemModel;
00032 class QAbstractProxyModel;
00033 class QAbstractItemView;
00034 class QModelIndex;
00035 class QItemSelectionModel;
00036 class QPrinter;
00037 class QSplitter;
00038
00039 namespace KDGantt {
00040 class ItemDelegate;
00041 class Constraint;
00042 class ConstraintModel;
00043 class AbstractGrid;
00044 class GraphicsView;
00045 class AbstractRowController;
00046
00047 class KDCHART_EXPORT View : public QWidget {
00048 Q_OBJECT
00049 KDGANTT_DECLARE_PRIVATE_BASE_POLYMORPHIC_QWIDGET(View)
00050 Q_PRIVATE_SLOT( d, void slotCollapsed(const QModelIndex&) )
00051 Q_PRIVATE_SLOT( d, void slotExpanded(const QModelIndex&) )
00052 Q_PRIVATE_SLOT( d, void slotVerticalScrollValueChanged( int ) )
00053 Q_PRIVATE_SLOT( d, void slotLeftWidgetVerticalRangeChanged( int, int ) )
00054 Q_PRIVATE_SLOT( d, void slotGfxViewVerticalRangeChanged( int, int ) )
00055
00056 public:
00057
00058 explicit View(QWidget* parent=0);
00059 virtual ~View();
00060
00061 QAbstractItemModel* model() const;
00062 QItemSelectionModel* selectionModel() const;
00063 ItemDelegate* itemDelegate() const;
00064 ConstraintModel* constraintModel() const;
00065 AbstractGrid* grid() const;
00066 QModelIndex rootIndex() const;
00067
00068 QModelIndex indexAt( const QPoint& pos ) const;
00069
00070 void setLeftView( QAbstractItemView* );
00071 const QAbstractItemView* leftView() const;
00072 QAbstractItemView* leftView();
00073
00074 const QSplitter* splitter() const;
00075 QSplitter* splitter();
00076
00077 void setRowController( AbstractRowController* );
00078 AbstractRowController* rowController();
00079 const AbstractRowController* rowController() const;
00080
00081 const GraphicsView* graphicsView() const;
00082 GraphicsView* graphicsView();
00083 const QAbstractProxyModel* ganttProxyModel() const;
00084 QAbstractProxyModel* ganttProxyModel();
00085
00086 void print( QPrinter* printer, bool drawRowLabels=true );
00087 void print( QPrinter* printer, qreal start, qreal end, bool drawRowLabels=true );
00088 void print( QPainter* painter, const QRectF& target = QRectF(), bool drawRowLabels=true);
00089 void print( QPainter* painter, qreal start, qreal end,
00090 const QRectF& target = QRectF(), bool drawRowLabels=true);
00091
00092 public Q_SLOTS:
00093 void setModel(QAbstractItemModel* model);
00094 void setRootIndex( const QModelIndex& idx );
00095 void setSelectionModel( QItemSelectionModel* smodel );
00096 void setItemDelegate( ItemDelegate* );
00097 void setConstraintModel( ConstraintModel* );
00098 void setGrid( AbstractGrid* );
00099
00100 protected:
00101 void resizeEvent(QResizeEvent*);
00102 };
00103 }
00104
00105 #endif