Krita Source Code Documentation
Loading...
Searching...
No Matches
KisTextPropertiesManager.cpp File Reference

Go to the source code of this file.

Classes

struct  KisTextPropertiesManager::Private
 

Functions

QSet< KoSvgTextProperties::PropertyIdgetTristate (QList< KoSvgTextProperties > props)
 
QSet< KoSvgTextProperties::PropertyIdremovedProps (KoSvgTextPropertyData textData, KoSvgTextPropertyData oldProps)
 
KoSvgTextPropertyData textDataProperties (QList< KoSvgTextProperties > props, QSet< KoSvgTextProperties::PropertyId > propIds)
 

Function Documentation

◆ getTristate()

Definition at line 83 of file KisTextPropertiesManager.cpp.

83 {
84 QSet<KoSvgTextProperties::PropertyId> propIds;
85
86 for (auto it = props.begin(); it != props.end(); it++) {
88 for (int i = 0; i < p.properties().size(); i++) {
89 propIds.insert(p.properties().at(i));
90 }
91 }
92 return propIds;
93}
const Params2D p

References p.

◆ removedProps()

QSet< KoSvgTextProperties::PropertyId > removedProps ( KoSvgTextPropertyData textData,
KoSvgTextPropertyData oldProps )

Definition at line 130 of file KisTextPropertiesManager.cpp.

130 {
131 QSet<KoSvgTextProperties::PropertyId> removeProperties;
133 oldPropIds.append(oldProps.tristate.values());
134 for (auto it = oldPropIds.begin(); it != oldPropIds.end(); it++) {
136 if (!textData.commonProperties.hasProperty(p) && !textData.tristate.contains(p)) {
137 removeProperties.insert(p);
138 }
139 }
140 return removeProperties;
141}
QList< PropertyId > properties() const
bool hasProperty(PropertyId id) const
KoSvgTextProperties commonProperties
The properties common between all the selected text.
QSet< KoSvgTextProperties::PropertyId > tristate
The properties that are not common (tri-state) between the selected text.

References KoSvgTextPropertyData::commonProperties, KoSvgTextProperties::hasProperty(), p, KoSvgTextProperties::properties(), and KoSvgTextPropertyData::tristate.

◆ textDataProperties()

KoSvgTextPropertyData textDataProperties ( QList< KoSvgTextProperties > props,
QSet< KoSvgTextProperties::PropertyId > propIds )

Definition at line 62 of file KisTextPropertiesManager.cpp.

62 {
63 KoSvgTextPropertyData textData;
64 textData.commonProperties = props.first();
65
66 for (auto it = props.begin(); it != props.end(); it++) {
67 for (int i = 0; i < propIds.size(); i++) {
68 KoSvgTextProperties::PropertyId p = propIds.values().at(i);
69 if (it->hasProperty(p)) {
70 if (textData.commonProperties.property(p) != it->property(p)) {
72 textData.tristate.insert(p);
73 }
74 } else {
76 textData.tristate.insert(p);
77 }
78 }
79 }
80 return textData;
81}
void removeProperty(PropertyId id)
QVariant property(PropertyId id, const QVariant &defaultValue=QVariant()) const
The KoSvgTextPropertyData struct.

References KoSvgTextPropertyData::commonProperties, p, KoSvgTextProperties::property(), KoSvgTextProperties::removeProperty(), and KoSvgTextPropertyData::tristate.