qt/LedOK/QXlsx/header/xlsxcellreference.h
2025-06-27 22:06:33 +08:00

59 lines
1.4 KiB
C++

// xlsxcellreference.h
#ifndef QXLSX_XLSXCELLREFERENCE_H
#define QXLSX_XLSXCELLREFERENCE_H
#include "xlsxglobal.h"
QT_BEGIN_NAMESPACE_XLSX
class QXLSX_EXPORT CellReference
{
public:
CellReference();
/*!
Constructs the Reference from the given \a row, and \a column.
*/
constexpr CellReference(int row, int column)
: _row(row)
, _column(column)
{
}
CellReference(const QString &cell);
CellReference(const char *cell);
CellReference(const CellReference &other);
~CellReference();
QString toString(bool row_abs = false, bool col_abs = false) const;
bool isValid() const;
inline void setRow(int row) { _row = row; }
inline void setColumn(int col) { _column = col; }
inline int row() const { return _row; }
inline int column() const { return _column; }
inline bool operator==(const CellReference &other) const
{
return _row == other._row && _column == other._column;
}
inline bool operator!=(const CellReference &other) const
{
return _row != other._row || _column != other._column;
}
inline bool operator>(const CellReference &other) const
{
return _row > other._row || _column != other._column;
}
private:
void init(const QString &cell);
int _row{-1};
int _column{-1};
};
QT_END_NAMESPACE_XLSX
Q_DECLARE_TYPEINFO(QXlsx::CellReference, Q_MOVABLE_TYPE);
#endif // QXLSX_XLSXCELLREFERENCE_H