color collection, now only CSS colors
PIVariantTypes::Color from/to string (with CSS names)
This commit is contained in:
@@ -522,6 +522,27 @@ PIString PIString::simplified() const {
|
||||
}
|
||||
|
||||
|
||||
PIString & PIString::mask(const PIString & symbols, PIChar mc) {
|
||||
for (int i = 0; i < size_s(); ++i)
|
||||
if (symbols.contains(at(i))) {
|
||||
insert(i, mc);
|
||||
++i;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
PIString & PIString::unmask(const PIString & symbols, const PIChar mc) {
|
||||
for (int i = 0; i < size_s() - 1; ++i)
|
||||
if (at(i) == mc) {
|
||||
if (symbols.contains(at(i + 1))) {
|
||||
remove(i);
|
||||
}
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
PIString & PIString::operator +=(const char * str) {
|
||||
if (!str) return *this;
|
||||
appendFromChars(str, -1, __syslocname__);
|
||||
|
||||
@@ -856,6 +856,18 @@ public:
|
||||
//! \~russian Возвращает \a PIString с заменёнными '?' не-ASCII символами.
|
||||
PIString simplified() const;
|
||||
|
||||
//! \~english Insert before any symbol from "symbols" symbol "mc" and return this string.
|
||||
//! \~russian Вставляет перед любым символом из "symbols" символ "mc" и возвращает эту строку.
|
||||
PIString & mask(const PIString & symbols, const PIChar mc = '\\');
|
||||
|
||||
PIString masked(const PIString & symbols, const PIChar mc = '\\') const {return PIString(*this).mask(symbols, mc);}
|
||||
|
||||
//! \~english Remove symbol "mc" before any symbol from "symbols" and return this string.
|
||||
//! \~russian Удаляет символ "mc" перед любым символом из "symbols" и возвращает эту строку.
|
||||
PIString & unmask(const PIString & symbols, const PIChar mc = '\\');
|
||||
|
||||
PIString unmasked(const PIString & symbols, const PIChar mc = '\\') const {return PIString(*this).unmask(symbols, mc);}
|
||||
|
||||
//! \~english Split string with delimiter "delim" to \a PIStringList.
|
||||
//! \~russian Разделяет строку в \a PIStringList через разделитель "delim".
|
||||
//! \~\details
|
||||
@@ -879,6 +891,10 @@ public:
|
||||
//! \~russian Возвращает содержит ли строка символ "c".
|
||||
bool contains(const char c) const {return d.contains(PIChar(c));}
|
||||
|
||||
//! \~english Returns if string contains character "c".
|
||||
//! \~russian Возвращает содержит ли строка символ "c".
|
||||
bool contains(const PIChar c) const {return d.contains(c);}
|
||||
|
||||
//! \~english Returns if string contains substring "str".
|
||||
//! \~russian Возвращает содержит ли строка подстроку "str".
|
||||
bool contains(const char * str) const {return contains(PIString(str));}
|
||||
|
||||
Reference in New Issue
Block a user