struct AxisInfo [Sim/PlotInfo] { private: QString _name; public: typedef enum { OptionFlag_NONE = 0, OptionFlag_INCLUDEREF = 1, OptionFlag_SYMMETRIC = 2, OptionFlag_FLOATING = 4, OptionFlag_LOGARITHMIC = 8, OptionFlag_INVERTED = 16, OptionFlag_PROBABILITY = 32 } OptionFlag; QString _title; QString _legacyUnitStr; int _options; // OptionFlag bit values double _min; double _max; char _format; int _precision; int _maxMajTicks; int _maxMinTicks; bool _precisionSet; // precision explicitly set instead of // determined by plotted slots. bool _useUserTitle; QString _userTitle; bool _useUnitName; DateLabelInfo _dateLabelInfo; LabelOrientInfo _labelOrientInfo; bool _timeScaleAutoOnShow; QString _timeScaleFormulaStart; QString _timeScaleFormulaEnd; public: AxisInfo(const QString &name); AxisInfo(const AxisInfo &info); const QString& name() const { return _name; } static bool unitIsDateTime (const QString& unitName); bool unitIsDateTime() const { return unitIsDateTime (_legacyUnitStr); } bool rangeEqual (const AxisInfo& rhs) const; bool configEqual (const AxisInfo& rhs) const; bool operator== (const AxisInfo& rhs) const; bool operator!= (const AxisInfo& rhs) const; }; class SlotPlot::AxisItem // [Q3GUI/SlotPlot] { // This class handles the name of the unit associated with the axis // and the displayed title of the axis private: QString _userLabel; QString _userUnitName; bool _useUserLabel; bool _useUserUnitName; DateLabelInfo _dateLabelInfo; LabelOrientInfo _labelOrientInfo; bool _timeScaleAutoOnShow; QString _timeScaleFormulaStart; QString _timeScaleFormulaEnd; public: AxisItem (); virtual ~AxisItem(); QString userUnitName() const { return _userUnitName; } QString userLabel() const { return _userLabel; } QString axisTitle() const; bool useUserLabel() const { return _useUserLabel; } bool useUnitName() const { return _useUserUnitName; } const DateLabelInfo& dateLabelInfo() const { return _dateLabelInfo; } const LabelOrientInfo& labelOrientInfo() const { return _labelOrientInfo; } void setUserUnitName(QString name) { _userUnitName = name; } void setUserLabel(QString name) { _userLabel = name; } void setUseUnitName(bool state) { _useUserUnitName = state; } void setUseUserLabel(bool state) { _useUserLabel = state; } void setDateLabelInfo(const DateLabelInfo& info) { _dateLabelInfo = info; } void setLabelOrientInfo(const LabelOrientInfo& info) { _labelOrientInfo = info; } bool axisIsDateTime() const; bool timeScaleApplyOnShow() const { return _timeScaleAutoOnShow; } QString timeScaleFormulaStart() const { return _timeScaleFormulaStart; } QString timeScaleFormulaEnd() const { return _timeScaleFormulaEnd; } void setTimeScalingInfo (bool timeScaleApplyOnShow, const QString& timeScaleFormulaStart, const QString& timeScaleFormulaEnd); };