KDGantt::AbstractGrid Class Reference

#include <KDGanttAbstractGrid>

Inheritance diagram for KDGantt::AbstractGrid:

Inheritance graph
[legend]
Collaboration diagram for KDGantt::AbstractGrid:

Collaboration graph
[legend]

List of all members.


Detailed Description

Abstract baseclass for grids. A grid is used to convert between QModelIndex'es and gantt chart values (doubles) and to paint the background and header of the view.

See also:
KDGantt::DateTimeGrid

Definition at line 40 of file kdganttabstractgrid.h.


Public Slots

virtual void setModel (QAbstractItemModel *model)
virtual void setRootIndex (const QModelIndex &idx)

Signals

void gridChanged ()

Public Member Functions

 AbstractGrid (QObject *parent=0)
bool isSatisfiedConstraint (const Constraint &c) const
virtual bool mapFromChart (const Span &span, const QModelIndex &idx, const QList< Constraint > &constraints=QList< Constraint >()) const =0
virtual Span mapToChart (const QModelIndex &idx) const =0
QAbstractItemModel * model () const
virtual void paintGrid (QPainter *painter, const QRectF &sceneRect, const QRectF &exposedRect, AbstractRowController *rowController=0, QWidget *widget=0)=0
virtual void paintHeader (QPainter *painter, const QRectF &headerRect, const QRectF &exposedRect, qreal offset, QWidget *widget=0)=0
QModelIndex rootIndex () const
virtual ~AbstractGrid ()

Constructor & Destructor Documentation

AbstractGrid::AbstractGrid ( QObject parent = 0  ) 

Constructor. Creates an AbstractGrid with parent parent. The QObject parent is not used for anything internally.

Definition at line 41 of file kdganttabstractgrid.cpp.

00042     : QObject( parent ),
00043       _d( new Private )
00044 {
00045 }

AbstractGrid::~AbstractGrid (  )  [virtual]

Destructor. Does nothing

Definition at line 48 of file kdganttabstractgrid.cpp.

00049 {
00050     delete _d;
00051 }


Member Function Documentation

void KDGantt::AbstractGrid::gridChanged (  )  [signal]

Referenced by KDGantt::DateTimeGrid::setDayWidth(), KDGantt::DateTimeGrid::setFreeDays(), KDGantt::DateTimeGrid::setNoInformationBrush(), KDGantt::DateTimeGrid::setScale(), KDGantt::DateTimeGrid::setStartDateTime(), KDGantt::DateTimeGrid::setUserDefinedLowerScale(), KDGantt::DateTimeGrid::setUserDefinedUpperScale(), and KDGantt::DateTimeGrid::setWeekStart().

bool AbstractGrid::isSatisfiedConstraint ( const Constraint c  )  const

Returns:
true if the startpoint is before the endpoint of the constraint c.

Definition at line 86 of file kdganttabstractgrid.cpp.

References KDGantt::Span::end(), KDGantt::Constraint::endIndex(), mapToChart(), and KDGantt::Constraint::startIndex().

Referenced by KDAB_SCOPED_UNITTEST_SIMPLE(), and KDGantt::DateTimeGrid::mapFromChart().

00087 {
00088     // First check if the data is valid,
00089     // TODO: review if true is the right choice
00090     if ( !c.startIndex().isValid() || !c.endIndex().isValid() ) return true;
00091 
00092     Span ss = mapToChart( c.startIndex() );
00093     Span es = mapToChart( c.endIndex() );
00094     return ( ss.end() <= es.start() );
00095 }

bool AbstractGrid::mapFromChart ( const Span span,
const QModelIndex &  idx,
const QList< Constraint > &  constraints = QList<Constraint>() 
) const [pure virtual]

Implement this to update the model data based on the location of the item. Check against the constraints list to make sure no hard constraints are violated by writing back to the model.

Returns:
true if the update succeeded.

Implemented in KDGantt::DateTimeGrid.

Span AbstractGrid::mapToChart ( const QModelIndex &  idx  )  const [pure virtual]

Implement this to map from the data in the model to the location of the corresponding item in the view.

Implemented in KDGantt::DateTimeGrid.

Referenced by isSatisfiedConstraint(), and KDGantt::GraphicsItem::updateItem().

QAbstractItemModel * AbstractGrid::model (  )  const

Returns:
The QAbstractItemModel used by this grid

Definition at line 64 of file kdganttabstractgrid.cpp.

References d.

Referenced by KDAB_SCOPED_UNITTEST_SIMPLE(), KDGantt::DateTimeGrid::mapFromChart(), and KDGantt::DateTimeGrid::mapToChart().

00065 {
00066     return d->model;
00067 }

void AbstractGrid::paintGrid ( QPainter *  painter,
const QRectF &  sceneRect,
const QRectF &  exposedRect,
AbstractRowController rowController = 0,
QWidget widget = 0 
) [pure virtual]

Implement this to paint the background of the view -- typically with some grid lines.

Parameters:
painter -- the QPainter to paint with.
sceneRect -- the total bounding rectangle of the scene.
exposedRect -- the rectangle that needs to be painted.
rowController -- the row controller used by the view -- may be 0.
widget -- the widget used by the view -- may be 0.

Implemented in KDGantt::DateTimeGrid.

void AbstractGrid::paintHeader ( QPainter *  painter,
const QRectF &  headerRect,
const QRectF &  exposedRect,
qreal  offset,
QWidget widget = 0 
) [pure virtual]

Implement this to paint the header part of the view.

Parameters:
painter -- the QPainter to paint with.
headerRect -- the total rectangle occupied by the header.
exposedRect -- the rectangle that needs to be painted.
offset -- the horizontal scroll offset of the view.
widget -- the widget used by the view -- may be 0.

Implemented in KDGantt::DateTimeGrid.

QModelIndex AbstractGrid::rootIndex (  )  const

Returns:
the current root index for this grid

Definition at line 78 of file kdganttabstractgrid.cpp.

References d.

00079 {
00080     return d->root;
00081 }

void AbstractGrid::setModel ( QAbstractItemModel *  model  )  [virtual, slot]

Sets the QAbstractItemModel used by this grid implementation. This is called by the view, you should never need to call this from client code.

Definition at line 58 of file kdganttabstractgrid.cpp.

References d.

Referenced by KDAB_SCOPED_UNITTEST_SIMPLE().

00059 {
00060     d->model = model;
00061 }

void AbstractGrid::setRootIndex ( const QModelIndex &  idx  )  [virtual, slot]

Sets the root index used by this grid implementation. This is called by the view, you should never need to call this from client code.

Definition at line 72 of file kdganttabstractgrid.cpp.

References d.

00073 {
00074     d->root = idx;
00075 }


The documentation for this class was generated from the following files:
Generated on Thu Mar 4 23:26:58 2010 for KD Chart 2 by  doxygen 1.5.4