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 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 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
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 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_HTML_RELATIVE = 255
00418 };
00419
00425
unsigned short primitiveType() const;
00426
00455
void setFloatValue (
unsigned short unitType,
float floatValue );
00456
00482
00483
float getFloatValue (
unsigned short unitType );
00484
00510
void setStringValue (
unsigned short stringType, const DOM::
DOMString &stringValue );
00511
00527
00528 DOM::
DOMString getStringValue ( );
00529
00543
00544
Counter getCounterValue ( );
00545
00559
00560
Rect getRectValue ( );
00561
00576
00577
RGBColor getRGBColorValue ( );
00578 };
00579
00580
00581
00590 class
RGBColor
00591 {
00592
public:
00593 RGBColor();
00597 RGBColor(
const QColor& c) { m_color = c.
rgb(); }
00598 RGBColor(QRgb color);
00599
00600 RGBColor(
const RGBColor &other);
00601 RGBColor & operator = (
const RGBColor &other);
00602
00603 ~RGBColor();
00604
00609
CSSPrimitiveValue red() const;
00610
00615
CSSPrimitiveValue green() const;
00616
00621
CSSPrimitiveValue blue() const;
00622
00626 QRgb color()
const {
return m_color; }
00627
protected:
00628 QRgb m_color;
00629 };
00630
00631
class RectImpl;
00632
00641 class Rect
00642 {
00643
friend class CSSPrimitiveValue;
00644
public:
00645
Rect();
00646
Rect(
const Rect &other);
00647
00648
Rect & operator = (
const Rect &other);
00649
00650 ~
Rect();
00651
00656
CSSPrimitiveValue top()
const;
00657
00662
CSSPrimitiveValue right()
const;
00663
00668
CSSPrimitiveValue bottom()
const;
00669
00674
CSSPrimitiveValue left()
const;
00675
00680 RectImpl *handle()
const;
00681
bool isNull()
const;
00682
00683
protected:
00684 RectImpl *impl;
00685
Rect(RectImpl *i);
00686 };
00687
00688
class CounterImpl;
00689
00698 class Counter
00699 {
00700
friend class CSSPrimitiveValue;
00701
public:
00702
Counter();
00703
Counter(
const Counter &other);
00704
public:
00705
00706
Counter & operator = (
const Counter &other);
00707
00708 ~
Counter();
00709
00714
DOM::DOMString identifier()
const;
00715
00720
DOM::DOMString listStyle()
const;
00721
00726
DOM::DOMString separator()
const;
00727
00732 CounterImpl *handle()
const;
00733
bool isNull()
const;
00734
00735
protected:
00736 CounterImpl *impl;
00737
Counter(CounterImpl *i);
00738 };
00739
00740
00741 }
00742
00743
#endif