mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Started the code for a grid that knows how to handle itself.
The code for this item is a bit too big to be just the grid of the dives and I know that, don't bully me. :) The main idea of this grid is that it knows when it should be updated. this is a bit different than the old code where all the painting happened on the same method. This is bad because it's more code, but it's better because if I break the grid, only the grid will be broken, and it's easyer to spot the breakage. in the old code if I did the wrong thing with the graphics context, the whole graph gots messed out. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
793879b6fa
commit
9cb5ea45d8
4 changed files with 119 additions and 2 deletions
|
|
@ -29,7 +29,8 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) :
|
|||
timeAxis(new TimeAxis()),
|
||||
depthController(new DiveRectItem()),
|
||||
timeController(new DiveRectItem()),
|
||||
diveProfileItem(new DiveProfileItem())
|
||||
diveProfileItem(new DiveProfileItem()),
|
||||
cartesianPlane(new DiveCartesianPlane())
|
||||
{
|
||||
setScene(new QGraphicsScene());
|
||||
scene()->setSceneRect(0, 0, 100, 100);
|
||||
|
|
@ -64,6 +65,10 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) :
|
|||
timeController->setRect(0, 0, 10, 5);
|
||||
timeController->setX(sceneRect().width() - timeController->boundingRect().width()); // Position it on the right spot.
|
||||
|
||||
cartesianPlane->setBottomAxis(timeAxis);
|
||||
cartesianPlane->setLeftAxis(profileYAxis);
|
||||
scene()->addItem(cartesianPlane);
|
||||
|
||||
// insert in the same way it's declared on the Enum. This is needed so we don't use an map.
|
||||
QList<QGraphicsItem*> stateItems; stateItems << background << profileYAxis << gasYAxis <<
|
||||
timeAxis << depthController << timeController;
|
||||
|
|
@ -156,6 +161,8 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) :
|
|||
profileState->assignProperty(timeAxis, "y", timeAxisOnCanvas);
|
||||
profileState->assignProperty(depthController, "y", depthControllerOffCanvas);
|
||||
profileState->assignProperty(timeController, "y", timeControllerOffCanvas);
|
||||
profileState->assignProperty(cartesianPlane, "verticalLine", profileYAxisExpanded);
|
||||
profileState->assignProperty(cartesianPlane, "horizontalLine", timeAxis->line());
|
||||
|
||||
// Edit, everything but the background and gasYAxis are shown.
|
||||
editState->assignProperty(this, "backgroundBrush", QBrush(Qt::darkGray));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue