mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Removed recreational mode from ui and pref and replaced it with new deco_mode enum. Added radio button ui selection. Set default deco_mode to Buehlmann algorithm. Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
		
			
				
	
	
		
			119 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef DIVEPLANNERMODEL_H
 | |
| #define DIVEPLANNERMODEL_H
 | |
| 
 | |
| #include <QAbstractTableModel>
 | |
| #include <QDateTime>
 | |
| 
 | |
| #include "dive.h"
 | |
| 
 | |
| class DivePlannerPointsModel : public QAbstractTableModel {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	static DivePlannerPointsModel *instance();
 | |
| 	enum Sections {
 | |
| 		REMOVE,
 | |
| 		DEPTH,
 | |
| 		DURATION,
 | |
| 		RUNTIME,
 | |
| 		GAS,
 | |
| 		CCSETPOINT,
 | |
| 		COLUMNS
 | |
| 	};
 | |
| 	enum Mode {
 | |
| 		NOTHING,
 | |
| 		PLAN,
 | |
| 		ADD
 | |
| 	};
 | |
| 	virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
 | |
| 	virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
 | |
| 	virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
 | |
| 	virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
 | |
| 	virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
 | |
| 	virtual Qt::ItemFlags flags(const QModelIndex &index) const;
 | |
| 	void gaschange(const QModelIndex &index, QString newgas);
 | |
| 	void removeSelectedPoints(const QVector<int> &rows);
 | |
| 	void setPlanMode(Mode mode);
 | |
| 	bool isPlanner();
 | |
| 	void createSimpleDive();
 | |
| 	void setupStartTime();
 | |
| 	void clear();
 | |
| 	Mode currentMode() const;
 | |
| 	bool setRecalc(bool recalc);
 | |
| 	bool recalcQ();
 | |
| 	void tanksUpdated();
 | |
| 	void rememberTanks();
 | |
| 	bool tankInUse(struct gasmix gasmix);
 | |
| 	void setupCylinders();
 | |
| 	/**
 | |
| 	 * @return the row number.
 | |
| 	 */
 | |
| 	void editStop(int row, divedatapoint newData);
 | |
| 	divedatapoint at(int row);
 | |
| 	int size();
 | |
| 	struct diveplan &getDiveplan();
 | |
| 	QStringList &getGasList();
 | |
| 	QVector<QPair<int, int> > collectGases(dive *d);
 | |
| 	int lastEnteredPoint();
 | |
| 	void removeDeco();
 | |
| 	static bool addingDeco;
 | |
| 
 | |
| public
 | |
| slots:
 | |
| 	int addStop(int millimeters = 0, int seconds = 0, struct gasmix *gas = 0, int ccpoint = 0, bool entered = true);
 | |
| 	void addCylinder_clicked();
 | |
| 	void setGFHigh(const int gfhigh);
 | |
| 	void triggerGFHigh();
 | |
| 	void setGFLow(const int ghflow);
 | |
| 	void triggerGFLow();
 | |
| 	void setSurfacePressure(int pressure);
 | |
| 	void setSalinity(int salinity);
 | |
| 	int getSurfacePressure();
 | |
| 	void setBottomSac(double sac);
 | |
| 	void setDecoSac(double sac);
 | |
| 	void setStartTime(const QTime &t);
 | |
| 	void setStartDate(const QDate &date);
 | |
| 	void setLastStop6m(bool value);
 | |
| 	void setDropStoneMode(bool value);
 | |
| 	void setVerbatim(bool value);
 | |
| 	void setDisplayRuntime(bool value);
 | |
| 	void setDisplayDuration(bool value);
 | |
| 	void setDisplayTransitions(bool value);
 | |
| 	void setDecoMode(int mode);
 | |
| 	void setSafetyStop(bool value);
 | |
| 	void savePlan();
 | |
| 	void saveDuplicatePlan();
 | |
| 	void remove(const QModelIndex &index);
 | |
| 	void cancelPlan();
 | |
| 	void createTemporaryPlan();
 | |
| 	void deleteTemporaryPlan();
 | |
| 	void loadFromDive(dive *d);
 | |
| 	void emitDataChanged();
 | |
| 	void setRebreatherMode(int mode);
 | |
| 	void setReserveGas(int reserve);
 | |
| 	void setSwitchAtReqStop(bool value);
 | |
| 	void setMinSwitchDuration(int duration);
 | |
| 
 | |
| signals:
 | |
| 	void planCreated();
 | |
| 	void planCanceled();
 | |
| 	void cylinderModelEdited();
 | |
| 	void startTimeChanged(QDateTime);
 | |
| 	void recreationChanged(bool);
 | |
| 	void calculatedPlanNotes();
 | |
| 
 | |
| private:
 | |
| 	explicit DivePlannerPointsModel(QObject *parent = 0);
 | |
| 	bool addGas(struct gasmix mix);
 | |
| 	void createPlan(bool replanCopy);
 | |
| 	struct diveplan diveplan;
 | |
| 	Mode mode;
 | |
| 	bool recalc;
 | |
| 	QVector<divedatapoint> divepoints;
 | |
| 	QVector<sample> backupSamples; // For editing added dives.
 | |
| 	QVector<QPair<int, int> > oldGases;
 | |
| 	QDateTime startTime;
 | |
| 	int tempGFHigh;
 | |
| 	int tempGFLow;
 | |
| };
 | |
| 
 | |
| #endif
 |