15 #ifndef BORNAGAIN_GUI_COREGUI_MODELS_POINTWISEAXISITEM_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_POINTWISEAXISITEM_H
35 void init(
const IAxis& axis,
const QString& units_label);
36 const IAxis* axis()
const;
37 const QString getUnitsLabel()
const;
43 std::unique_ptr<IAxis>
createAxis(
double scale)
const override;
45 void updateIndicators();
50 void setLastModified(
const QDateTime& dtime);
52 bool checkValidity()
const;
55 void findInstrument();
Defines various axis items.
Defines save/load interface.
virtual std::unique_ptr< IAxis > createAxis(double scale) const
Interface for one-dimensional axes.
Item for non-uniform axis with specified coordinates.
~PointwiseAxisItem() override
const SpecularInstrumentItem * m_instrument
std::unique_ptr< IAxis > m_axis
static const QString P_FILE_NAME
static const QString P_NATIVE_AXIS_UNITS
QDateTime m_last_modified
Axis containing arbitrary (non-equidistant) coordinate values.
Purely virtual interface to handle non-XML data save and load.
virtual QString fileName() const =0
Reports file name to save/load non-XML data.
virtual bool load(const QString &projectDir)=0
Loads non-XML data from projectDir and returns success flag.
virtual bool containsNonXMLData() const =0
Checks if object owns non-XML data.
virtual bool save(const QString &projectDir)=0
Saves non-XML data in projectDir and returns success flag.
QString lastModified(const QString &fileName)
Returns a string representing modification time of given file.
QString projectDir(const QString &projectFileName)
Returns project directory deduced from project file name.