mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Prepare for plotting partial pressures in the new profile
This patch makes the cartesian axis of the profile depth shrink and (together with it) the Profile Depth and the grid lines. There will probabla bey a lot of things that didn't have their correct position fixed, so I'll fix them in the later commits. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									4005ee2ae8
								
							
						
					
					
						commit
						bc7b221498
					
				
					 4 changed files with 42 additions and 9 deletions
				
			
		|  | @ -2,13 +2,13 @@ | |||
| #include "divelineitem.h" | ||||
| #include "divetextitem.h" | ||||
| #include "helpers.h" | ||||
| 
 | ||||
| #include "preferences.h" | ||||
| #include <QPen> | ||||
| #include <QGraphicsScene> | ||||
| #include <QDebug> | ||||
| #include <QPropertyAnimation> | ||||
| #include <QGraphicsView> | ||||
| #include <QStyleOption> | ||||
| #include <QSettings> | ||||
| 
 | ||||
| static QPen gridPen(){ | ||||
| 	QPen pen; | ||||
|  | @ -140,6 +140,13 @@ void DiveCartesianAxis::updateTicks() | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| void DiveCartesianAxis::animateChangeLine(const QLineF& newLine) | ||||
| { | ||||
| 	setLine(newLine); | ||||
| 	updateTicks(); | ||||
| 	sizeChanged(); | ||||
| } | ||||
| 
 | ||||
| void DiveCartesianAxis::setShowText(bool show) | ||||
| { | ||||
| 	showText = show; | ||||
|  | @ -243,6 +250,25 @@ QColor DepthAxis::colorForValue(double value) | |||
| 	return QColor(Qt::red); | ||||
| } | ||||
| 
 | ||||
| DepthAxis::DepthAxis() | ||||
| { | ||||
| 	connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(settingsChanged())); | ||||
| 	settingsChanged(); // force the correct size of the line.
 | ||||
| } | ||||
| 
 | ||||
| void DepthAxis::settingsChanged() | ||||
| { | ||||
| 	QSettings s; | ||||
| 
 | ||||
| 	s.beginGroup("TecDetails"); | ||||
| 	bool ppGraph = s.value("phegraph").toBool() || s.value("po2graph").toBool() || s.value("pn2graph").toBool(); | ||||
| 	if (ppGraph) { | ||||
| 		animateChangeLine(QLineF(0,2,0,60)); | ||||
| 	} else { | ||||
| 		animateChangeLine(QLineF(0,2,0,98)); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| QColor TimeAxis::colorForValue(double value) | ||||
| { | ||||
| 	Q_UNUSED(value); | ||||
|  | @ -278,7 +304,7 @@ void DiveCartesianPlane::setBottomAxis(DiveCartesianAxis* axis) | |||
| 
 | ||||
| QLineF DiveCartesianPlane::horizontalLine() const | ||||
| { | ||||
| 	return (bottomAxis) ? bottomAxis->line() : QLineF() ; | ||||
| 	return (bottomAxis) ? bottomAxis->line() : QLineF(); | ||||
| } | ||||
| 
 | ||||
| void DiveCartesianPlane::setHorizontalLine(QLineF line) | ||||
|  | @ -299,7 +325,7 @@ void DiveCartesianPlane::setVerticalLine(QLineF line) | |||
| 
 | ||||
| QLineF DiveCartesianPlane::verticalLine() const | ||||
| { | ||||
| 	return (leftAxis) ? leftAxis->line() : QLineF() ; | ||||
| 	return (leftAxis) ? leftAxis->line() : QLineF(); | ||||
| } | ||||
| 
 | ||||
| void DiveCartesianPlane::setup() | ||||
|  |  | |||
|  | @ -3,6 +3,8 @@ | |||
| 
 | ||||
| #include <QObject> | ||||
| #include <QGraphicsLineItem> | ||||
| 
 | ||||
| class QPropertyAnimation; | ||||
| class DiveTextItem; | ||||
| class DiveLineItem; | ||||
| 
 | ||||
|  | @ -21,7 +23,6 @@ public: | |||
| 	void setTickInterval(double interval); | ||||
| 	void setOrientation(Orientation orientation); | ||||
| 	void setTickSize(qreal size); | ||||
| 	void updateTicks(); | ||||
| 	double minimum() const; | ||||
| 	double maximum() const; | ||||
| 	qreal valueAt(const QPointF& p); | ||||
|  | @ -31,7 +32,10 @@ public: | |||
| 	void setTextColor(const QColor& color); | ||||
| 	void setShowTicks(bool show); | ||||
| 	void setShowText(bool show); | ||||
| 	void animateChangeLine(const QLineF& newLine); | ||||
| 	int unitSystem; | ||||
| public slots: | ||||
| 	void updateTicks(); | ||||
| signals: | ||||
| 	void sizeChanged(); | ||||
| protected: | ||||
|  | @ -49,9 +53,14 @@ protected: | |||
| }; | ||||
| 
 | ||||
| class DepthAxis : public DiveCartesianAxis { | ||||
| 	Q_OBJECT | ||||
| public: | ||||
| 	DepthAxis(); | ||||
| protected: | ||||
| 	QString textForValue(double value); | ||||
| 	QColor colorForValue(double value); | ||||
| private slots: | ||||
| 	void settingsChanged(); | ||||
| }; | ||||
| 
 | ||||
| class TimeAxis : public DiveCartesianAxis { | ||||
|  |  | |||
|  | @ -135,7 +135,6 @@ void DiveProfileItem::modelDataChanged() | |||
| 	pat.setColorAt(1, getColor(DEPTH_BOTTOM)); | ||||
| 	pat.setColorAt(0, getColor(DEPTH_TOP)); | ||||
| 	setBrush(QBrush(pat)); | ||||
| 	AbstractProfilePolygonItem::preferencesChanged(); | ||||
| 
 | ||||
| 	int last = -1; | ||||
| 	for (int i = 0, count  = dataModel->rowCount(); i < count; i++) { | ||||
|  |  | |||
|  | @ -64,7 +64,6 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : | |||
| 	timeAxis->setTickInterval(600); // 10 to 10 minutes?
 | ||||
| 
 | ||||
| 	// Default Sizes of the Items.
 | ||||
| 	profileYAxis->setLine(0, 0, 0, 90); | ||||
| 	profileYAxis->setX(2); | ||||
| 	profileYAxis->setTickSize(1); | ||||
| 	gasYAxis->setLine(0, 0, 0, 20); | ||||
|  | @ -188,7 +187,7 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : | |||
| 	profileState->assignProperty(this, "backgroundBrush", getColor(::BACKGROUND)); | ||||
| 	profileState->assignProperty(background, "y",  backgroundOffCanvas); | ||||
| 	profileState->assignProperty(profileYAxis, "x", profileYAxisOnCanvas); | ||||
| 	profileState->assignProperty(profileYAxis, "line", profileYAxisExpanded); | ||||
| 	//profileState->assignProperty(profileYAxis, "line", profileYAxisExpanded);
 | ||||
| 	profileState->assignProperty(gasYAxis, "x", 0); | ||||
| 	profileState->assignProperty(timeAxis, "y", timeAxisOnCanvas); | ||||
| 	profileState->assignProperty(depthController, "y", depthControllerOffCanvas); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue