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_stylesheet_h_
00028
#define _CSS_css_stylesheet_h_
00029
00030
#include <dom/dom_string.h>
00031
#include <dom/dom_node.h>
00032
#include <dom/dom_misc.h>
00033
00034
#include <kdelibs_export.h>
00035
00036
namespace DOM {
00037
00038
class StyleSheetImpl;
00039
class MediaList;
00040
class NodeImpl;
00041
class DocumentImpl;
00042
00058 class KHTML_EXPORT StyleSheet
00059 {
00060
public:
00061 StyleSheet();
00062 StyleSheet(
const StyleSheet &other);
00063 StyleSheet(StyleSheetImpl *impl);
00064
public:
00065
00066 StyleSheet & operator = (
const StyleSheet &other);
00067
00068 ~StyleSheet();
00069
00086
DOM::DOMString type()
const;
00087
00094
bool disabled()
const;
00095
00099
void setDisabled(
bool );
00100
00109
DOM::Node ownerNode()
const;
00110
00119 StyleSheet parentStyleSheet()
const;
00120
00132
DOM::DOMString href()
const;
00133
00144
DOM::DOMString title()
const;
00145
00156
MediaList media()
const;
00157
00161
bool isCSSStyleSheet()
const;
00162 StyleSheetImpl *handle()
const {
return impl; }
00163
bool isNull()
const {
return !impl; }
00164
protected:
00165 StyleSheetImpl *impl;
00166 };
00167
00168
00173 class KHTML_EXPORT CSSException
00174 {
00175
public:
00176 CSSException(
unsigned short _code) { code = _code; }
00177 CSSException(
const CSSException &other) { code = other.
code; }
00178
00179 CSSException & operator = (
const CSSException &other)
00180 { code = other.
code;
return *
this; }
00181
00182
virtual ~CSSException() {}
00187 unsigned short code;
00188
00189
enum ExceptionCode
00190 {
00191 SYNTAX_ERR = 0,
00192 INVALID_MODIFICATION_ERR = 1,
00193 _EXCEPTION_OFFSET = 1000
00194 };
00195 };
00196
00197
class CSSStyleSheetImpl;
00198
class CSSRule;
00199
class CSSRuleList;
00200
00207 class KHTML_EXPORT CSSStyleSheet :
public StyleSheet
00208 {
00209
public:
00210 CSSStyleSheet();
00211 CSSStyleSheet(
const CSSStyleSheet &other);
00212 CSSStyleSheet(
const StyleSheet &other);
00213 CSSStyleSheet(CSSStyleSheetImpl *impl);
00214
public:
00215
00216 CSSStyleSheet & operator = (
const CSSStyleSheet &other);
00217 CSSStyleSheet & operator = (
const StyleSheet &other);
00218
00219 ~CSSStyleSheet();
00220
00232
CSSRule ownerRule()
const;
00233
00243
CSSRuleList cssRules()
const;
00244
00279
unsigned long insertRule (
const DOM::DOMString &rule,
unsigned long index );
00280
00297
void deleteRule (
unsigned long index );
00298 };
00299
00300
00301
class StyleSheetListImpl;
00302
class StyleSheet;
00303
00309 class KHTML_EXPORT StyleSheetList
00310 {
00311
public:
00312 StyleSheetList();
00313 StyleSheetList(
const StyleSheetList &other);
00314 StyleSheetList(StyleSheetListImpl *impl);
00315
public:
00316
00317 StyleSheetList & operator = (
const StyleSheetList &other);
00318
00319 ~StyleSheetList();
00320
00327
unsigned long length()
const;
00328
00339 StyleSheet item (
unsigned long index );
00340
00344 StyleSheetListImpl *handle()
const;
00345
bool isNull()
const;
00346
00347
protected:
00348 StyleSheetListImpl *impl;
00349 };
00350
00351
00352
class MediaListImpl;
00353
class CSSRule;
00354
class CSSStyleSheet;
00355
00363 class KHTML_EXPORT MediaList
00364 {
00365
public:
00366 MediaList();
00367 MediaList(
const MediaList &other);
00368 MediaList(MediaListImpl *impl);
00369
public:
00370
00371 MediaList & operator = (
const MediaList &other);
00372
00373 ~MediaList();
00374
00385
DOM::DOMString mediaText()
const;
00386
00390
void setMediaText(
const DOM::DOMString &value);
00391
00395
unsigned long length()
const;
00396
00397
00407
DOM::DOMString item(
unsigned long index)
const;
00408
00419
void deleteMedium(
const DOM::DOMString &oldMedium);
00420
00433
void appendMedium(
const DOM::DOMString &newMedium);
00434
00438 MediaListImpl *handle()
const;
00439
bool isNull()
const;
00440
00441
protected:
00442 MediaListImpl *impl;
00443 };
00444
00445
class LinkStyleImpl;
00446
00447
class KHTML_EXPORT LinkStyle
00448 {
00449
public:
00450 LinkStyle();
00451 LinkStyle(
const LinkStyle &other);
00452
00453 LinkStyle & operator = (
const LinkStyle &other);
00454 LinkStyle & operator = (
const Node &other);
00455
00456 ~LinkStyle();
00457
00458 StyleSheet sheet();
00459
00460
bool isNull() const;
00461
00462 protected:
00463 DOM::NodeImpl *node;
00464 LinkStyleImpl *impl;
00465 };
00466
00467 class DocumentStyleImpl;
00468
00469 class KHTML_EXPORT DocumentStyle
00470 {
00471
public:
00472 DocumentStyle();
00473 DocumentStyle(
const DocumentStyle &other);
00474
00475 DocumentStyle & operator = (
const DocumentStyle &other);
00476 DocumentStyle & operator = (
const Document &other);
00477
00478 ~DocumentStyle();
00479
00480
00481 StyleSheetList styleSheets();
00482
00483
DOMString preferredStylesheetSet() const;
00484
DOMString selectedStylesheetSet() const;
00485
void setSelectedStylesheetSet( const
DOMString& aString );
00486
00487
bool isNull()
const {
return !impl; }
00488
00489
protected:
00490 DOM::DocumentImpl *doc;
00491 DocumentStyleImpl *impl;
00492 };
00493
00494 }
00495
00496
#endif