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. More...
#include <KDGanttAbstractGrid>
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 QVariant | mapFromChart (qreal x) 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 |
virtual qreal | mapToChart (const QVariant &value) const |
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 () |
Protected Member Functions | |
virtual void | drawBackground (QPainter *paint, const QRectF &rect) |
virtual void | drawForeground (QPainter *paint, const QRectF &rect) |
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.
Definition at line 38 of file kdganttabstractgrid.h.
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.
AbstractGrid::~AbstractGrid | ( | ) | [virtual] |
Destructor. Does nothing
Definition at line 48 of file kdganttabstractgrid.cpp.
void AbstractGrid::drawBackground | ( | QPainter * | paint, | |
const QRectF & | rect | |||
) | [protected, virtual] |
Reimplemented in KDGantt::DateTimeGrid.
Definition at line 154 of file kdganttabstractgrid.cpp.
void AbstractGrid::drawForeground | ( | QPainter * | paint, | |
const QRectF & | rect | |||
) | [protected, virtual] |
Reimplemented in KDGantt::DateTimeGrid.
Definition at line 163 of file kdganttabstractgrid.cpp.
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 |
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().
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.
Implemented in KDGantt::DateTimeGrid.
QVariant AbstractGrid::mapFromChart | ( | qreal | x | ) | const [virtual] |
Implement this to map from x to the corresponding location in the view. Return an invalid value if x cannot be mapped.
Reimplemented in KDGantt::DateTimeGrid.
Definition at line 112 of file kdganttabstractgrid.cpp.
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().
qreal AbstractGrid::mapToChart | ( | const QVariant & | value | ) | const [virtual] |
Implement this to map from value to the corresponding location in the view. Return a negative value if value cannot be mapped. The default implementation returns -1.0.
Reimplemented in KDGantt::DateTimeGrid.
Definition at line 102 of file kdganttabstractgrid.cpp.
QAbstractItemModel * AbstractGrid::model | ( | ) | const |
Definition at line 64 of file kdganttabstractgrid.cpp.
References d.
Referenced by KDGantt::DateTimeGrid::mapFromChart(), and KDGantt::DateTimeGrid::mapToChart().
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.
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.
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 |
Definition at line 78 of file kdganttabstractgrid.cpp.
References d.
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().
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.