4#include "include/data_types/private/abstract_data_type.h"
8class QRegularExpression;
33 String(
const QString &a,
const QString &b,
const QVariant &c);
34 String(
const std::vector<QVariant> &text_list);
43 inline qint32
compare(
const String &rhs,
const Qt::CaseSensitivity case_sensitivity)
const
45 return get().compare(rhs.
get(), case_sensitivity);
78 inline static QString
toMatchString(
const QString &a,
const QString &b,
const QVariant &c)
88 inline static QString
toMatchString(
const std::vector<QVariant> &text_list)
101 void writeCharArray(QDataStream &in,
const quint16 length);
108 inline QString
get()
const {
return string_; }
113 inline qsizetype
size()
const {
return string_.size(); }
123 inline void clear() { string_.clear(); }
129 static QRegularExpression accented_characters_;
132 friend QDataStream &operator>>(QDataStream &in,
String &
data);
133 friend QDataStream &operator<<(QDataStream &out,
const String &
data);
140 inline QVariant value(
const qint32 role = Qt::DisplayRole)
const override
150 inline void setValue(
const QVariant &value)
override { string_ = value.toString().trimmed(); }
153 enum ENUM_TEXT_LENGTHS {
154 SAV_INDEX_TEXT_LENGTH = 260,
155 LONG_TEXT_LENGTH = 101,
156 STANDARD_TEXT_LENGTH = 51,
157 SHORT_TEXT_LENGTH = 26,
158 REAL_SHORT_TEXT_LENGTH = 6,
159 THREE_LETTER_TEXT_LENGTH = 4,
160 SIX_LETTER_TEXT_LENGTH = 7
165QDataStream &operator>>(QDataStream &in, String &data);
166QDataStream &operator<<(QDataStream &out,
const String &data);
The AbstractDataType class provides common virtual functions for all integral game data types.
Definition: abstract_data_type.h:11
QVariant data(const qint32 role=Qt::DisplayRole) const
Returns the data stored under the given role for the item.
The String class acts as a QString wrapper for EHM text strings.
Definition: string.h:22
bool isIdenticalTo(const String &rhs, const Qt::CaseSensitivity case_sensitivity) const
Checks whether two Strings are identical.
Definition: string.h:53
qsizetype size() const
Returns the number of characters in the current text string.
Definition: string.h:113
QString matchString() const
Returns the string text as a match string suitable for comparing against other match strings....
QString toHex() const
Returns the text string in hexidecimal format.
static QString toMatchString(const QString &a, const QString &b, const QVariant &c)
Convenience static function for QString matchString() const;. Combines a, b and c into a single strin...
Definition: string.h:78
static QString toMatchString(const std::vector< QVariant > &text_list)
Convenience static function for QString matchString() const;. Combines the elemtns of text_list into ...
Definition: string.h:88
QString get() const
Returns the current text string.
Definition: string.h:108
static QString toMatchString(const QString &text)
Convenience static function for QString matchString() const;.
Definition: string.h:66
void clear()
Clears the curreny text string.
Definition: string.h:123
void readCharArray(QDataStream &in, const quint16 length)
Read an array of 8-bit chars as a text string and store in the String.
String(const QString &text)
Constructs the String with text.
String()
Default constructor.
qint32 compare(const String &rhs, const Qt::CaseSensitivity case_sensitivity) const
Compares two Strings. This is the same as QString::compare()
Definition: string.h:43
namespace ehm_dal::data_types
Definition: attribute.h:6