mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
profile: pass axes and model to DiveEventItem on construction
Firstly, there is no point in supporting DiveEventItems without model and axis. Secondly, this avoid pointless position- recalculations. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
c93fb83edf
commit
fd2862042b
3 changed files with 14 additions and 29 deletions
|
@ -14,10 +14,12 @@
|
|||
|
||||
#define DEPTH_NOT_FOUND (-2342)
|
||||
|
||||
DiveEventItem::DiveEventItem(const struct dive *d, struct event *ev, struct gasmix lastgasmix, QGraphicsItem *parent) : DivePixmapItem(parent),
|
||||
vAxis(NULL),
|
||||
hAxis(NULL),
|
||||
dataModel(NULL),
|
||||
DiveEventItem::DiveEventItem(const struct dive *d, struct event *ev, struct gasmix lastgasmix,
|
||||
DivePlotDataModel *model, DiveCartesianAxis *hAxis, DiveCartesianAxis *vAxis,
|
||||
int speed, QGraphicsItem *parent) : DivePixmapItem(parent),
|
||||
vAxis(vAxis),
|
||||
hAxis(hAxis),
|
||||
dataModel(model),
|
||||
internalEvent(clone_event(ev)),
|
||||
dive(d)
|
||||
{
|
||||
|
@ -26,6 +28,10 @@ DiveEventItem::DiveEventItem(const struct dive *d, struct event *ev, struct gasm
|
|||
setupPixmap(lastgasmix);
|
||||
setupToolTipString(lastgasmix);
|
||||
recalculatePos(0);
|
||||
|
||||
|
||||
connect(vAxis, &DiveCartesianAxis::sizeChanged, this,
|
||||
[speed, this] { recalculatePos(speed); });
|
||||
}
|
||||
|
||||
DiveEventItem::~DiveEventItem()
|
||||
|
@ -33,26 +39,6 @@ DiveEventItem::~DiveEventItem()
|
|||
free(internalEvent);
|
||||
}
|
||||
|
||||
void DiveEventItem::setHorizontalAxis(DiveCartesianAxis *axis)
|
||||
{
|
||||
hAxis = axis;
|
||||
recalculatePos(0);
|
||||
}
|
||||
|
||||
void DiveEventItem::setModel(DivePlotDataModel *model)
|
||||
{
|
||||
dataModel = model;
|
||||
recalculatePos(0);
|
||||
}
|
||||
|
||||
void DiveEventItem::setVerticalAxis(DiveCartesianAxis *axis, int speed)
|
||||
{
|
||||
vAxis = axis;
|
||||
recalculatePos(0);
|
||||
connect(vAxis, &DiveCartesianAxis::sizeChanged, this,
|
||||
[speed, this] { recalculatePos(speed); });
|
||||
}
|
||||
|
||||
struct event *DiveEventItem::getEvent()
|
||||
{
|
||||
return internalEvent;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue