27 ScStyle_Superscript = 1,
28 ScStyle_Subscript = 2,
30 ScStyle_Underline = 8,
31 ScStyle_Strikethrough = 16,
33 ScStyle_SmallCaps = 64,
34 ScStyle_HyphenationPossible=128,
35 ScStyle_Shadowed = 256,
36 ScStyle_UnderlineWords= 512,
37 xScStyle_Reserved01 = 1024,
38 xScStyle_DropCap = 2048,
39 xScStyle_SuppressSpace = 4096,
40 xScStyle_SoftHyphenVisible=8192,
41 xScStyle_StartOfLine = 16384,
42 ScStyle_UserStyles = 1919,
43 ScStyle_NonUserStyles = 30848,
53 StyleFlag(
void) { value = ScStyle_Default; }
54 StyleFlag(StyleFlagValue val) { value = val; }
55 StyleFlag(
int val) { value =
static_cast<StyleFlagValue
>(val); }
57 operator StyleFlagValue()
const {
return value; }
59 QStringList featureList()
const;
61 StyleFlag& operator= (StyleFlagValue val) { value = val;
return *
this;}
71 bool operator== (
const StyleFlag& right)
const;
72 bool operator== (
const StyleFlagValue right)
const;
73 bool operator== (
int right)
const;
74 bool operator!= (
const StyleFlag& right)
const;
75 bool operator!= (
const StyleFlagValue right)
const;
81 static const QString INHERIT;
82 static const QString BOLD;
83 static const QString ITALIC;
84 static const QString UNDERLINE;
85 static const QString UNDERLINEWORDS;
86 static const QString STRIKETHROUGH;
87 static const QString SUPERSCRIPT;
88 static const QString SUBSCRIPT;
89 static const QString OUTLINE;
90 static const QString SHADOWED;
91 static const QString ALLCAPS;
92 static const QString SMALLCAPS;
95 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
96 m_##attr_NAME = attr_DEFAULT; \
97 inh_##attr_NAME = true;
98 #include "charstyle.attrdefs.cxx"
100 m_isDefaultStyle=
false;
104 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
105 m_##attr_NAME = attr_DEFAULT; \
106 inh_##attr_NAME = true;
107 #include "charstyle.attrdefs.cxx"
109 m_isDefaultStyle=
false;
120 static void desaxeRules(
const Xml_string& prefixPattern,
desaxe::Digester& ruleset, Xml_string elemtag = saxxDefaultElem);
122 virtual void saxx(
SaxHandler& handler,
const Xml_string& elemtag)
const;
129 QString displayName()
const;
135 void updateFeatures();
139 void applyCharStyle(
const CharStyle & other);
140 void eraseCharStyle(
const CharStyle & other);
142 void erase() { eraseCharStyle(*
this); }
143 void eraseDirectFormatting();
145 QString asString()
const;
149 void setEffects(
StyleFlag flags) { m_Effects = flags; }
154 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
155 const attr_TYPE &attr_GETTER() const { validate(); return m_##attr_NAME; }
156 #include "charstyle.attrdefs.cxx"
161 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
162 void set##attr_NAME(attr_TYPE v) { m_##attr_NAME = v; inh_##attr_NAME = false; }
163 #include "charstyle.attrdefs.cxx"
168 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
169 void reset##attr_NAME() { m_##attr_NAME = attr_DEFAULT; inh_##attr_NAME = true; }
170 #include "charstyle.attrdefs.cxx"
174 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
175 bool isInh##attr_NAME() const { return inh_##attr_NAME; }
176 #include "charstyle.attrdefs.cxx"
181 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
182 bool isDef##attr_NAME() const { \
183 if ( !inh_##attr_NAME ) return true; \
184 const CharStyle * par = dynamic_cast<const CharStyle*>(parentStyle()); \
185 return par && par->isDef##attr_NAME(); \
187 #include "charstyle.attrdefs.cxx"
193 void runFeatures(
const QStringList& featurelist,
const CharStyle* parent);
198 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
199 attr_TYPE m_##attr_NAME; \
200 bool inh_##attr_NAME;
201 #include "charstyle.attrdefs.cxx"
208 static_cast<Style&
>(*this) =
static_cast<const Style&
>(other);
209 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
210 m_##attr_NAME = other.m_##attr_NAME; \
211 inh_##attr_NAME = other.inh_##attr_NAME;
212 #include "charstyle.attrdefs.cxx"
214 m_Effects = other.m_Effects;
216 m_contextversion = -1;
220 inline CharStyle::CharStyle(
const CharStyle & other) :
Style(other)
222 #define ATTRDEF(attr_TYPE, attr_GETTER, attr_NAME, attr_DEFAULT) \
223 m_##attr_NAME = other.m_##attr_NAME; \
224 inh_##attr_NAME = other.inh_##attr_NAME;
225 #include "charstyle.attrdefs.cxx"
227 m_Effects = other.m_Effects;
229 m_contextversion = -1;
Definition: charstyle.h:47
Definition: charstyle.h:78
virtual bool equiv(const Style &other) const =0
Definition: stylecontext.h:35
void erase()
Definition: charstyle.h:142
Definition: saxhandler.h:21
virtual void saxx(SaxHandler &handler) const
Definition: charstyle.h:123
virtual void update(const StyleContext *b=NULL)
Definition: style.cpp:54
const StyleFlag effects() const
Definition: charstyle.h:148
Base Class ScFace : This is a total rewrite of the old Foi class.
Definition: scface.h:73
static const Xml_string saxxDefaultElem
Definition: saxio.h:40
Point operator^(Point const &a, Point const &b)
Definition: point.h:141
Definition: digester.h:100
virtual void saxx(SaxHandler &, const Xml_string &) const =0
void validate() const
Definition: style.h:113
Definition: resourcecollection.h:41