KHTML
css_value.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _CSS_css_value_h_
00028 #define _CSS_css_value_h_
00029
00030 #include <dom/dom_string.h>
00031
00032 #include <qcolor.h>
00033
00034 #include <kdemacros.h>
00035
00036 namespace DOM {
00037
00038 class CSSStyleDeclarationImpl;
00039 class CSSRule;
00040 class CSSValue;
00041
00060 class KHTML_EXPORT CSSStyleDeclaration
00061 {
00062 public:
00063 CSSStyleDeclaration();
00064 CSSStyleDeclaration(const CSSStyleDeclaration &other);
00065 CSSStyleDeclaration(CSSStyleDeclarationImpl *impl);
00066 public:
00067
00068 CSSStyleDeclaration & operator = (const CSSStyleDeclaration &other);
00069
00070 ~CSSStyleDeclaration();
00071
00079 DOM::DOMString cssText() const;
00080
00092 void setCssText( const DOM::DOMString & );
00093
00099 unsigned long length() const;
00100
00105 CSSRule parentRule() const;
00106
00120 DOM::DOMString getPropertyValue ( const DOM::DOMString &propertyName ) const;
00121 DOM::DOMString getPropertyValue ( const DOM::DOMString &propertyName );
00122
00142 CSSValue getPropertyCSSValue ( const DOM::DOMString &propertyName ) const;
00143 CSSValue getPropertyCSSValue ( const DOM::DOMString &propertyName );
00144
00163 DOM::DOMString removeProperty ( const DOM::DOMString &propertyName );
00164
00179 DOM::DOMString getPropertyPriority ( const DOM::DOMString &propertyName ) const;
00180 DOM::DOMString getPropertyPriority ( const DOM::DOMString &propertyName );
00181
00206 void setProperty ( const DOM::DOMString &propertyName, const DOM::DOMString &value, const DOM::DOMString &priority );
00207
00221 DOM::DOMString item ( unsigned long index ) const;
00222 DOM::DOMString item ( unsigned long index );
00223
00228 CSSStyleDeclarationImpl *handle() const;
00229 bool isNull() const;
00230
00231 protected:
00232 CSSStyleDeclarationImpl *impl;
00233 };
00234
00235
00236 class CSSValueImpl;
00237
00243 class KHTML_EXPORT CSSValue
00244 {
00245 public:
00246 CSSValue();
00247 CSSValue(const CSSValue &other);
00248 CSSValue(CSSValueImpl *impl);
00249 public:
00250
00251 CSSValue & operator = (const CSSValue &other);
00252
00253 ~CSSValue();
00261 enum UnitTypes {
00262 CSS_INHERIT = 0,
00263 CSS_PRIMITIVE_VALUE = 1,
00264 CSS_VALUE_LIST = 2,
00265 CSS_CUSTOM = 3,
00266 CSS_INITIAL = 4
00267 };
00268
00273 DOM::DOMString cssText() const;
00274
00286 void setCssText( const DOM::DOMString & );
00287
00292 unsigned short cssValueType() const;
00293
00298 bool isCSSValueList() const;
00299 bool isCSSPrimitiveValue() const;
00300 CSSValueImpl *handle() const;
00301 bool isNull() const;
00302
00303 protected:
00304 CSSValueImpl *impl;
00305 };
00306
00307
00308 class CSSValueListImpl;
00309 class CSSValue;
00310
00316 class KHTML_EXPORT CSSValueList : public CSSValue
00317 {
00318 public:
00319 CSSValueList();
00320 CSSValueList(const CSSValueList &other);
00321 CSSValueList(const CSSValue &other);
00322 CSSValueList(CSSValueListImpl *impl);
00323 public:
00324
00325 CSSValueList & operator = (const CSSValueList &other);
00326 CSSValueList & operator = (const CSSValue &other);
00327
00328 ~CSSValueList();
00329
00336 unsigned long length() const;
00337
00350 CSSValue item ( unsigned long index );
00351
00352 protected:
00353 CSSValueListImpl *vimpl;
00354 };
00355
00356
00357 class CSSPrimitiveValueImpl;
00358 class Counter;
00359 class RGBColor;
00360 class Rect;
00361
00373 class KHTML_EXPORT CSSPrimitiveValue : public CSSValue
00374 {
00375 public:
00376 CSSPrimitiveValue();
00377 CSSPrimitiveValue(const CSSPrimitiveValue &other);
00378 CSSPrimitiveValue(const CSSValue &other);
00379 CSSPrimitiveValue(CSSPrimitiveValueImpl *impl);
00380 public:
00381
00382 CSSPrimitiveValue & operator = (const CSSPrimitiveValue &other);
00383 CSSPrimitiveValue & operator = (const CSSValue &other);
00384
00385 ~CSSPrimitiveValue();
00390 enum UnitTypes {
00391 CSS_UNKNOWN = 0,
00392 CSS_NUMBER = 1,
00393 CSS_PERCENTAGE = 2,
00394 CSS_EMS = 3,
00395 CSS_EXS = 4,
00396 CSS_PX = 5,
00397 CSS_CM = 6,
00398 CSS_MM = 7,
00399 CSS_IN = 8,
00400 CSS_PT = 9,
00401 CSS_PC = 10,
00402 CSS_DEG = 11,
00403 CSS_RAD = 12,
00404 CSS_GRAD = 13,
00405 CSS_MS = 14,
00406 CSS_S = 15,
00407 CSS_HZ = 16,
00408 CSS_KHZ = 17,
00409 CSS_DIMENSION = 18,
00410 CSS_STRING = 19,
00411 CSS_URI = 20,
00412 CSS_IDENT = 21,
00413 CSS_ATTR = 22,
00414 CSS_COUNTER = 23,
00415 CSS_RECT = 24,
00416 CSS_RGBCOLOR = 25,
00417 CSS_PAIR = 100,
00418 CSS_HTML_RELATIVE = 255
00419 };
00420
00426 unsigned short primitiveType() const;
00427
00456 void setFloatValue ( unsigned short unitType, float floatValue );
00457
00483
00484 float getFloatValue ( unsigned short unitType );
00485
00511 void setStringValue ( unsigned short stringType, const DOM::DOMString &stringValue );
00512
00528
00529 DOM::DOMString getStringValue ( );
00530
00544
00545 Counter getCounterValue ( );
00546
00560
00561 Rect getRectValue ( );
00562
00577
00578 RGBColor getRGBColorValue ( );
00579 };
00580
00581
00582
00591 class KHTML_EXPORT RGBColor
00592 {
00593 public:
00594 RGBColor();
00598 RGBColor(const QColor& c) { m_color = c.rgb(); }
00599 RGBColor(QRgb color);
00600
00601 RGBColor(const RGBColor &other);
00602 RGBColor & operator = (const RGBColor &other);
00603
00604 ~RGBColor();
00605
00610 CSSPrimitiveValue red() const;
00611
00616 CSSPrimitiveValue green() const;
00617
00622 CSSPrimitiveValue blue() const;
00623
00627 QRgb color() const { return m_color; }
00628 protected:
00629 QRgb m_color;
00630 };
00631
00632 class RectImpl;
00633
00642 class KHTML_EXPORT Rect
00643 {
00644 friend class CSSPrimitiveValue;
00645 public:
00646 Rect();
00647 Rect(const Rect &other);
00648
00649 Rect & operator = (const Rect &other);
00650
00651 ~Rect();
00652
00657 CSSPrimitiveValue top() const;
00658
00663 CSSPrimitiveValue right() const;
00664
00669 CSSPrimitiveValue bottom() const;
00670
00675 CSSPrimitiveValue left() const;
00676
00681 RectImpl *handle() const;
00682 bool isNull() const;
00683
00684 protected:
00685 RectImpl *impl;
00686 Rect(RectImpl *i);
00687 };
00688
00689 class CounterImpl;
00690
00699 class KHTML_EXPORT Counter
00700 {
00701 friend class CSSPrimitiveValue;
00702 public:
00703 Counter();
00704 Counter(const Counter &other);
00705 public:
00706
00707 Counter & operator = (const Counter &other);
00708
00709 ~Counter();
00710
00715 DOM::DOMString identifier() const;
00716
00721 DOM::DOMString listStyle() const;
00722
00727 DOM::DOMString separator() const;
00728
00733 CounterImpl *handle() const;
00734 bool isNull() const;
00735
00736 protected:
00737 CounterImpl *impl;
00738 Counter(CounterImpl *i);
00739 };
00740
00741
00742 }
00743
00744
00745 #endif