From 254beef5d4c0ead123556ffbc5e37dd2cc81366e Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 16 Jan 2014 16:21:23 -0200 Subject: Transform the DiveProfileItem to an Abstract Generalization The DiveProfileItem contained much of the complexity and algorithms for almost all line-based items on the canvas, so I transformed that to a general abstraction and implemented a new DiveProfileItem that uses it. this should reduce a bit of code since the implementation of the PP Graphs, Temperature Cylinder Pressure and maybe a few others will only need to reimplement the paint() and the modelDataChanged() methods. The rest is ready. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/profile/diveeventitem.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'qt-ui/profile/diveeventitem.cpp') diff --git a/qt-ui/profile/diveeventitem.cpp b/qt-ui/profile/diveeventitem.cpp index a6153f96f..8709a1484 100644 --- a/qt-ui/profile/diveeventitem.cpp +++ b/qt-ui/profile/diveeventitem.cpp @@ -14,19 +14,19 @@ DiveEventItem::DiveEventItem(QObject* parent): DivePixmapItem(parent), void DiveEventItem::setHorizontalAxis(DiveCartesianAxis* axis) { hAxis = axis; - recalculate(); + recalculatePos(); } void DiveEventItem::setModel(DivePlotDataModel* model) { dataModel = model; - recalculate(); + recalculatePos(); } void DiveEventItem::setVerticalAxis(DiveCartesianAxis* axis) { vAxis = axis; - recalculate(); + recalculatePos(); } void DiveEventItem::setEvent(struct event* ev) @@ -34,7 +34,7 @@ void DiveEventItem::setEvent(struct event* ev) internalEvent = ev; setupPixmap(); setupToolTipString(); - recalculate(); + recalculatePos(); } void DiveEventItem::setupPixmap() @@ -102,12 +102,11 @@ void DiveEventItem::eventVisibilityChanged(const QString& eventName, bool visibl } -void DiveEventItem::recalculate() +void DiveEventItem::recalculatePos() { if (!vAxis || !hAxis || !internalEvent || !dataModel){ return; } - qDebug() << "Calculating."; QModelIndexList result = dataModel->match(dataModel->index(0,DivePlotDataModel::TIME), Qt::DisplayRole, internalEvent->time.seconds ); if(result.isEmpty()){ hide(); -- cgit v1.2.3-70-g09d2