Code

Warning cleanup
[inkscape.git] / src / dom / css.h
1 /*
2  * Copyright (c) 2000 World Wide Web Consortium,
3  * (Massachusetts Institute of Technology, Institut National de
4  * Recherche en Informatique et en Automatique, Keio University). All
5  * Rights Reserved. This program is distributed under the W3C's Software
6  * Intellectual Property License. This program is distributed the
7  * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  * PURPOSE.
10  * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
11  */
13 // File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.idl
15 #ifndef __CSS_H__
16 #define __CSS_H__
18 #include "dom.h"
19 #include "stylesheets.h"
20 #include "views.h"
22 #include <vector>
23 #include <map>
26 namespace org {
27 namespace w3c {
28 namespace dom {
29 namespace css {
34 //Make local definitions
35 typedef dom::DOMString DOMString;
36 typedef dom::Element Element;
37 typedef dom::DOMImplementation DOMImplementation;
39 //forward declarations
40 class CSSRule;
41 class CSSStyleSheet;
42 class CSSStyleDeclaration;
43 class CSSValue;
44 class Counter;
45 class Rect;
46 class RGBColor;
52 /*#########################################################################
53 ## CSSRule
54 #########################################################################*/
56 /**
57  *
58  */
59 class CSSRule
60 {
61 public:
63     typedef enum
64         {
65         UNKNOWN_RULE    = 0,
66         STYLE_RULE      = 1,
67         CHARSET_RULE    = 2,
68         IMPORT_RULE     = 3,
69         MEDIA_RULE      = 4,
70         FONT_FACE_RULE  = 5,
71         PAGE_RULE       = 6
72         } RuleType;
75     /**
76      *
77      */
78     virtual unsigned short getType()
79         {
80         return type;
81         }
83     /**
84      *
85      */
86     virtual DOMString getCssText()
87         {
88         return cssText;
89         }
91     /**
92      *
93      */
94     virtual void setCssText(const DOMString &val) throw (dom::DOMException)
95         {
96         cssText = val;
97         }
99     /**
100      *
101      */
102     virtual CSSStyleSheet *getParentStyleSheet()
103         {
104         return parentStyleSheet;
105         }
107     /**
108      *
109      */
110     virtual CSSRule *getParentRule()
111         {
112         return parentRule;
113         }
117     //##################
118     //# Non-API methods
119     //##################
121     /**
122      *
123      */
124     CSSRule()
125         {
126         type             = UNKNOWN_RULE;
127         cssText          = "";
128         parentStyleSheet = NULL;
129         parentRule       = NULL;
130         }
132     /**
133      *
134      */
135     CSSRule(const CSSRule &other)
136         {
137         type             = other.type;
138         cssText          = other.cssText;
139         parentStyleSheet = other.parentStyleSheet;
140         parentRule       = other.parentRule;
141         }
143     /**
144      *
145      */
146     virtual ~CSSRule() {}
148 protected:
150     int type;
152     DOMString cssText;
154     CSSStyleSheet *parentStyleSheet;
156     CSSRule *parentRule;
157 };
161 /*#########################################################################
162 ## CSSRuleList
163 #########################################################################*/
165 /**
166  *
167  */
168 class CSSRuleList
170 public:
172     /**
173      *
174      */
175     virtual unsigned long getLength()
176         {
177         return rules.size();
178         }
180     /**
181      *
182      */
183     virtual CSSRule item(unsigned long index)
184         {
185         if (index>=rules.size())
186             {
187             CSSRule rule;
188             return rule;
189             }
190         return rules[index];
191         }
194     //##################
195     //# Non-API methods
196     //##################
198     /**
199      *
200      */
201     CSSRuleList() {}
204     /**
205      *
206      */
207     CSSRuleList(const CSSRuleList &other)
208         {
209         rules = other.rules;
210         }
212     /**
213      *
214      */
215     virtual ~CSSRuleList() {}
217 protected:
219 friend class CSSMediaRule;
220 friend class CSSStyleSheet;
222     /**
223      *
224      */
225     virtual void addRule(const CSSRule &rule)
226         {
227         rules.push_back(rule);
228         }
231     /**
232      *
233      */
234     virtual void deleteRule(unsigned long index)
235         {
236         if (index>=rules.size())
237             return;
238         std::vector<CSSRule>::iterator iter = rules.begin() + index;
239         rules.erase(iter);
240         }
243     /**
244      *
245      */
246     virtual long insertRule(const CSSRule &rule, unsigned long index)
247         {
248         if (index>=rules.size())
249             return -1;
250         std::vector<CSSRule>::iterator iter = rules.begin() + index;
251         rules.insert(iter, rule);
252         return index;
253         }
255     std::vector<CSSRule>rules;
256 };
259 /*#########################################################################
260 ## CSSStyleSheet
261 #########################################################################*/
263 /**
264  *
265  */
266 class CSSStyleSheet : virtual public stylesheets::StyleSheet
268 public:
270     /**
271      *
272      */
273     virtual CSSRule *getOwnerRule()
274         {
275         return ownerRule;
276         }
278     /**
279      *
280      */
281     virtual CSSRuleList getCssRules()
282         {
283         return rules;
284         }
286     /**
287      *
288      */
289     virtual unsigned long insertRule(const DOMString &/*ruleStr*/,
290                                      unsigned long index)
291                                      throw (dom::DOMException)
292         {
293         CSSRule rule;
294         return rules.insertRule(rule, index);
295         }
297     /**
298      *
299      */
300     virtual void deleteRule(unsigned long index)
301                             throw (dom::DOMException)
302         {
303         rules.deleteRule(index);
304         }
306     //##################
307     //# Non-API methods
308     //##################
310     /**
311      *
312      */
313     CSSStyleSheet() : stylesheets::StyleSheet()
314         {
315         }
317     /**
318      *
319      */
320     CSSStyleSheet(const CSSStyleSheet &other) :
321                   stylesheets::StyleSheet(other)
322         {
323         ownerRule = other.ownerRule;
324         rules     = other.rules;
325         }
327     /**
328      *
329      */
330     virtual ~CSSStyleSheet() {}
332 protected:
334     CSSRule *ownerRule;
336     CSSRuleList rules;
337 };
340 /*#########################################################################
341 ## CSSValue
342 #########################################################################*/
344 /**
345  *
346  */
347 class CSSValue
349 public:
351     /**
352      * UnitTypes
353      */
354     enum
355         {
356         CSS_INHERIT         = 0,
357         CSS_PRIMITIVE_VALUE = 1,
358         CSS_VALUE_LIST      = 2,
359         CSS_CUSTOM          = 3
360         };
362     /**
363      *
364      */
365     virtual DOMString getCssText()
366         {
367         return cssText;
368         }
370     /**
371      *
372      */
373     virtual void setCssText(const DOMString &val)
374                             throw (dom::DOMException)
375         {
376         cssText = val;
377         }
379     /**
380      *
381      */
382     virtual unsigned short getCssValueType()
383         {
384         return valueType;
385         }
387     //##################
388     //# Non-API methods
389     //##################
391     /**
392      *
393      */
394     CSSValue()
395         {
396         valueType = CSS_INHERIT;
397         }
399     /**
400      *
401      */
402     CSSValue(const CSSValue &other)
403         {
404         cssText   = other.cssText;
405         valueType = other.valueType;
406         }
408     /**
409      *
410      */
411     virtual ~CSSValue() {}
413 protected:
415     DOMString cssText;
416     int valueType;
417 };
423 /*#########################################################################
424 ## CSSStyleDeclaration
425 #########################################################################*/
427 class CSSStyleDeclarationEntry
429 public:
430     CSSStyleDeclarationEntry(const DOMString &nameArg,
431                              const DOMString &valueArg,
432                              const DOMString &prioArg)
433     {
434         name  = nameArg;
435         value = valueArg;
436         prio  = prioArg;
437     }
438     virtual ~CSSStyleDeclarationEntry(){}
439     DOMString name;
440     DOMString value;
441     DOMString prio;
442 };
446 /**
447  *
448  */
449 class CSSStyleDeclaration
451 public:
453     /**
454      *
455      */
456     virtual DOMString getCssText()
457         {
458         return cssText;
459         }
461     /**
462      *
463      */
464     virtual void setCssText(const DOMString &val)
465                             throw (dom::DOMException)
466         {
467         cssText = val;
468         }
470     /**
471      *
472      */
473     virtual DOMString getPropertyValue(const DOMString &propertyName)
474         {
475         std::vector<CSSStyleDeclarationEntry>::iterator iter;
476         for (iter=items.begin() ; iter!=items.end() ; iter++)
477             {
478             if (iter->name == propertyName)
479                 return iter->value;
480             }
481         return "";
482         }
484     /**
485      *
486      */
487     virtual CSSValue getPropertyCSSValue(const DOMString &/*propertyName*/)
488         {
489         CSSValue value;
490         return value;
491         }
493     /**
494      *
495      */
496     virtual DOMString removeProperty(const DOMString &propertyName)
497                                      throw (dom::DOMException)
498         {
499         std::vector<CSSStyleDeclarationEntry>::iterator iter;
500         for (iter=items.begin() ; iter!=items.end() ; iter++)
501             {
502             if (iter->name == propertyName)
503                 items.erase(iter);
504             }
505         return propertyName;
506         }
508     /**
509      *
510      */
511     virtual DOMString getPropertyPriority(const DOMString &propertyName)
512         {
513         std::vector<CSSStyleDeclarationEntry>::iterator iter;
514         for (iter=items.begin() ; iter!=items.end() ; iter++)
515             {
516             if (iter->name == propertyName)
517                 return iter->prio;
518             }
519         return "";
520         }
522     /**
523      *
524      */
525     virtual void setProperty(const DOMString &propertyName,
526                              const DOMString &value,
527                              const DOMString &priority)
528                              throw (dom::DOMException)
529         {
530         std::vector<CSSStyleDeclarationEntry>::iterator iter;
531         for (iter=items.begin() ; iter!=items.end() ; iter++)
532             {
533             if (iter->name == propertyName)
534                 {
535                 iter->name  = propertyName;
536                 iter->value = value;
537                 iter->prio  = priority;
538                 return;
539                 }
540             }
541         CSSStyleDeclarationEntry entry(propertyName, value, priority);
542         items.push_back(entry);
543         }
545     /**
546      *
547      */
548     virtual unsigned long getLength()
549         {
550         return items.size();
551         }
553     /**
554      *
555      */
556     virtual DOMString item(unsigned long index)
557         {
558         if (index>=items.size())
559             return "";
560         DOMString ret = items[index].name;
561         ret.append(":");
562         ret.append(items[index].value);
563         return ret;
564         }
566     /**
567      *
568      */
569     virtual CSSRule *getParentRule()
570         {
571         return parentRule;
572         }
574     //##################
575     //# Non-API methods
576     //##################
578     /**
579      *
580      */
581     CSSStyleDeclaration()
582         {
583         parentRule = NULL;
584         }
586     /**
587      *
588      */
589     CSSStyleDeclaration(const CSSStyleDeclaration &/*other*/)
590         {
591         }
593     /**
594      *
595      */
596     virtual ~CSSStyleDeclaration() {}
598 protected:
600    DOMString cssText;
602    CSSRule *parentRule;
604    std::vector<CSSStyleDeclarationEntry> items;
605 };
610 /*#########################################################################
611 ## CSSStyleRule
612 #########################################################################*/
614 /**
615  *
616  */
617 class CSSStyleRule : virtual public CSSRule
619 public:
621     /**
622      *
623      */
624     virtual DOMString getSelectorText()
625         {
626         return selectorText;
627         }
629     /**
630      *
631      */
632     virtual void setSelectorText(const DOMString &val)
633                 throw (dom::DOMException)
634         {
635         selectorText = val;
636         }
639     /**
640      *
641      */
642     virtual CSSStyleDeclaration &getStyle()
643         {
644         return style;
645         }
647     //##################
648     //# Non-API methods
649     //##################
651     /**
652      *
653      */
654     CSSStyleRule() : CSSRule()
655         {
656         type = STYLE_RULE;
657         selectorText = "";
658         }
661     /**
662      *
663      */
664     CSSStyleRule(const CSSStyleRule &other) : CSSRule(other)
665         {
666         selectorText = other.selectorText;
667         style        = other.style;
668         }
670     /**
671      *
672      */
673     virtual ~CSSStyleRule() {}
675 protected:
677     DOMString selectorText;
679     CSSStyleDeclaration style;
681 };
683 /*#########################################################################
684 ## CSSMediaRule
685 #########################################################################*/
687 /**
688  *
689  */
690 class CSSMediaRule : virtual public CSSRule
692 public:
694     /**
695      *
696      */
697     virtual stylesheets::MediaList getMedia()
698         {
699         return mediaList;
700         }
702     /**
703      *
704      */
705     virtual CSSRuleList getCssRules()
706         {
707         return cssRules;
708         }
710     /**
711      *
712      */
713     virtual unsigned long insertRule(const DOMString &/*ruleStr*/,
714                                      unsigned long index)
715                                      throw (dom::DOMException)
716         {
717         if (index>cssRules.getLength())
718             return 0;
719         CSSRule rule;
720         cssRules.insertRule(rule, index);
721         return index;
722         }
724     /**
725      *
726      */
727     virtual void deleteRule(unsigned long index)
728                             throw(dom::DOMException)
729         {
730         cssRules.deleteRule(index);
731         }
733     //##################
734     //# Non-API methods
735     //##################
737     /**
738      *
739      */
740     CSSMediaRule() : CSSRule()
741         {
742         type = MEDIA_RULE;
743         }
745     /**
746      *
747      */
748     CSSMediaRule(const CSSMediaRule &other) : CSSRule(other)
749         {
750         mediaList = other.mediaList;
751         cssRules  = other.cssRules;
752         }
754     /**
755      *
756      */
757     virtual ~CSSMediaRule() {}
759 protected:
761     stylesheets::MediaList mediaList;
763     CSSRuleList cssRules;
764 };
769 /*#########################################################################
770 ## CSSFontFaceRule
771 #########################################################################*/
773 /**
774  *
775  */
776 class CSSFontFaceRule : virtual public CSSRule
778 public:
780     /**
781      *
782      */
783     virtual CSSStyleDeclaration getStyle()
784         {
785         return style;
786         }
789     //##################
790     //# Non-API methods
791     //##################
793     /**
794      *
795      */
796     CSSFontFaceRule() : CSSRule()
797         {
798         type = FONT_FACE_RULE;
799         }
801     /**
802      *
803      */
804     CSSFontFaceRule(const CSSFontFaceRule &other) : CSSRule(other)
805         {
806         style = other.style;
807         }
809     /**
810      *
811      */
812     virtual ~CSSFontFaceRule() {}
814 protected:
816     CSSStyleDeclaration style;
817 };
822 /*#########################################################################
823 ## CSSPageRule
824 #########################################################################*/
826 /**
827  *
828  */
829 class CSSPageRule : virtual public CSSRule
831 public:
833     /**
834      *
835      */
836     virtual DOMString getSelectorText()
837         {
838         return selectorText;
839         }
841     /**
842      *
843      */
844     virtual void setSelectorText(const DOMString &val)
845                          throw(dom::DOMException)
846         {
847         selectorText = val;
848         }
851     /**
852      *
853      */
854     virtual CSSStyleDeclaration getStyle()
855         {
856         return style;
857         }
860     //##################
861     //# Non-API methods
862     //##################
864     /**
865      *
866      */
867     CSSPageRule() : CSSRule()
868         {
869         type = PAGE_RULE;
870         }
872     /**
873      *
874      */
875     CSSPageRule(const CSSPageRule &other) : CSSRule(other)
876         {
877         selectorText = other.selectorText;
878         style        = other.style;
879         }
881     /**
882      *
883      */
884     virtual ~CSSPageRule() {}
886 protected:
888     DOMString selectorText;
890     CSSStyleDeclaration style;
891 };
897 /*#########################################################################
898 ## CSSImportRule
899 #########################################################################*/
901 /**
902  *
903  */
904 class CSSImportRule : virtual public CSSRule
906 public:
908     /**
909      *
910      */
911     virtual DOMString getHref()
912         {
913         return href;
914         }
916     /**
917      *
918      */
919     virtual stylesheets::MediaList getMedia()
920         {
921         return mediaList;
922         }
924     /**
925      *
926      */
927     virtual CSSStyleSheet getStyleSheet()
928         {
929         return styleSheet;
930         }
933     //##################
934     //# Non-API methods
935     //##################
937     /**
938      *
939      */
940     CSSImportRule() : CSSRule()
941         {
942         type = IMPORT_RULE;
943         }
945     /**
946      *
947      */
948     CSSImportRule(const CSSImportRule &other) : CSSRule(other)
949         {
950         mediaList  = other.mediaList;
951         styleSheet = other.styleSheet;
952         }
954     /**
955      *
956      */
957     virtual ~CSSImportRule() {}
959 protected:
961     DOMString href;
963     stylesheets::MediaList mediaList;
965     CSSStyleSheet styleSheet;
966 };
973 /*#########################################################################
974 ## CSSCharsetRule
975 #########################################################################*/
977 /**
978  *
979  */
980 class CSSCharsetRule : virtual public CSSRule
982 public:
984     /**
985      *
986      */
987     virtual DOMString getEncoding()
988         {
989         return encoding;
990         }
992     /**
993      *
994      */
995     virtual void setEncoding(const DOMString &val) throw (dom::DOMException)
996         {
997         encoding = val;
998         }
1000     //##################
1001     //# Non-API methods
1002     //##################
1004     /**
1005      *
1006      */
1007     CSSCharsetRule() : CSSRule()
1008         {
1009         type = CHARSET_RULE;
1010         }
1012     /**
1013      *
1014      */
1015     CSSCharsetRule(const CSSCharsetRule &other) : CSSRule(other)
1016         {
1017         encoding = other.encoding;
1018         }
1020     /**
1021      *
1022      */
1023     virtual ~CSSCharsetRule() {}
1025 protected:
1027     DOMString encoding;
1029 };
1035 /*#########################################################################
1036 ## CSSUnknownRule
1037 #########################################################################*/
1039 /**
1040  *
1041  */
1042 class CSSUnknownRule : virtual public CSSRule
1044 public:
1046     //##################
1047     //# Non-API methods
1048     //##################
1050     /**
1051      *
1052      */
1053     CSSUnknownRule() : CSSRule()
1054         {
1055         type = UNKNOWN_RULE;
1056         }
1058     /**
1059      *
1060      */
1061     CSSUnknownRule(const CSSUnknownRule &other) : CSSRule(other)
1062         {
1063         }
1065     /**
1066      *
1067      */
1068     virtual ~CSSUnknownRule() {}
1069 };
1077 /*#########################################################################
1078 ## CSSValueList
1079 #########################################################################*/
1081 /**
1082  *
1083  */
1084 class CSSValueList : virtual public CSSValue
1086 public:
1088     /**
1089      *
1090      */
1091     virtual unsigned long getLength()
1092         {
1093         return items.size();
1094         }
1096     /**
1097      *
1098      */
1099     virtual CSSValue item(unsigned long index)
1100         {
1101         if (index>=items.size())
1102             {
1103             CSSValue dummy;
1104             return dummy;
1105             }
1106         return items[index];
1107         }
1109     //##################
1110     //# Non-API methods
1111     //##################
1113     /**
1114      *
1115      */
1116     CSSValueList()
1117         {
1118         }
1120     /**
1121      *
1122      */
1123     CSSValueList(const CSSValueList &other) : CSSValue(other)
1124         {
1125         items = other.items;
1126         }
1128     /**
1129      *
1130      */
1131     virtual ~CSSValueList() {}
1133 protected:
1135     std::vector<CSSValue> items;
1136 };
1141 /*#########################################################################
1142 ## CSSPrimitiveValue
1143 #########################################################################*/
1145 /**
1146  *
1147  */
1148 class CSSPrimitiveValue : virtual public CSSValue
1150 public:
1152     /**
1153      * UnitTypes
1154      */
1155     enum
1156         {
1157         CSS_UNKNOWN    = 0,
1158         CSS_NUMBER     = 1,
1159         CSS_PERCENTAGE = 2,
1160         CSS_EMS        = 3,
1161         CSS_EXS        = 4,
1162         CSS_PX         = 5,
1163         CSS_CM         = 6,
1164         CSS_MM         = 7,
1165         CSS_IN         = 8,
1166         CSS_PT         = 9,
1167         CSS_PC         = 10,
1168         CSS_DEG        = 11,
1169         CSS_RAD        = 12,
1170         CSS_GRAD       = 13,
1171         CSS_MS         = 14,
1172         CSS_S          = 15,
1173         CSS_HZ         = 16,
1174         CSS_KHZ        = 17,
1175         CSS_DIMENSION  = 18,
1176         CSS_STRING     = 19,
1177         CSS_URI        = 20,
1178         CSS_IDENT      = 21,
1179         CSS_ATTR       = 22,
1180         CSS_COUNTER    = 23,
1181         CSS_RECT       = 24,
1182         CSS_RGBCOLOR   = 25
1183         };
1186     /**
1187      *
1188      */
1189     virtual unsigned short getPrimitiveType()
1190         {
1191         return primitiveType;
1192         }
1194     /**
1195      *
1196      */
1197     virtual void setFloatValue(unsigned short unitType,
1198                                double doubleValueArg)
1199                                throw (dom::DOMException)
1200         {
1201         primitiveType = unitType;
1202         doubleValue = doubleValueArg;
1203         }
1204     /**
1205      *
1206      */
1207     virtual double getFloatValue(unsigned short /*unitType*/)
1208                                 throw (dom::DOMException)
1209         {
1210         return doubleValue;
1211         }
1213     /**
1214      *
1215      */
1216     virtual void setStringValue(unsigned short /*stringType*/,
1217                                 const DOMString &stringValueArg)
1218                                 throw (dom::DOMException)
1219         {
1220         stringValue = stringValueArg;
1221         }
1223     /**
1224      *
1225      */
1226     virtual DOMString getStringValue() throw (dom::DOMException)
1227         {
1228         return stringValue;
1229         }
1231     /**
1232      *
1233      */
1234     virtual Counter *getCounterValue() throw (dom::DOMException)
1235         {
1236         return NULL;
1237         }
1239     /**
1240      *
1241      */
1242     virtual Rect *getRectValue() throw (dom::DOMException)
1243         {
1244         return NULL;
1245         }
1247     /**
1248      *
1249      */
1250     virtual RGBColor *getRGBColorValue() throw (dom::DOMException)
1251         {
1252         return NULL;
1253         }
1255     //##################
1256     //# Non-API methods
1257     //##################
1259     /**
1260      *
1261      */
1262     CSSPrimitiveValue() : CSSValue()
1263         {
1264         }
1266     /**
1267      *
1268      */
1269     CSSPrimitiveValue(const CSSPrimitiveValue &other) : CSSValue(other)
1270         {
1271         }
1273     /**
1274      *
1275      */
1276     virtual ~CSSPrimitiveValue() {}
1278 protected:
1280     int primitiveType;
1282     double doubleValue;
1284     DOMString stringValue;
1287 };
1291 /*#########################################################################
1292 ## RGBColor
1293 #########################################################################*/
1295 /**
1296  *
1297  */
1298 class RGBColor
1300 public:
1302     /**
1303      *
1304      */
1305     virtual CSSPrimitiveValue getRed()
1306         {
1307         return red;
1308         }
1310     /**
1311      *
1312      */
1313     virtual CSSPrimitiveValue getGreen()
1314         {
1315         return green;
1316         }
1318     /**
1319      *
1320      */
1321     virtual CSSPrimitiveValue getBlue()
1322         {
1323         return blue;
1324         }
1326     /**
1327      * REPLACES: RGBColor CSSPrimitiveValue::getRGBColorValue() throw (dom::DOMException)
1328      */
1329     static RGBColor getRGBColorValue(const CSSPrimitiveValue &/*val*/)
1330         {
1331         RGBColor col;
1332         return col;
1333         }
1335     //##################
1336     //# Non-API methods
1337     //##################
1339     /**
1340      *
1341      */
1342     RGBColor() {}
1344     /**
1345      *
1346      */
1347     RGBColor(const RGBColor &other)
1348         {
1349         red   = other.red;
1350         green = other.green;
1351         blue  = other.blue;
1352         }
1354     /**
1355      *
1356      */
1357     virtual ~RGBColor() {}
1359 protected:
1361     CSSPrimitiveValue red;
1362     CSSPrimitiveValue green;
1363     CSSPrimitiveValue blue;
1364 };
1369 /*#########################################################################
1370 ## Rect
1371 #########################################################################*/
1373 /**
1374  *
1375  */
1376 class Rect
1378 public:
1380     /**
1381      *
1382      */
1383     virtual CSSPrimitiveValue getTop()
1384         {
1385         return top;
1386         }
1388     /**
1389      *
1390      */
1391     virtual CSSPrimitiveValue getRight()
1392         {
1393         return right;
1394         }
1396     /**
1397      *
1398      */
1399     virtual CSSPrimitiveValue getBottom()
1400         {
1401         return bottom;
1402         }
1404     /**
1405      *
1406      */
1407     virtual CSSPrimitiveValue getLeft()
1408         {
1409         return left;
1410         }
1412     /**
1413      * REPLACES: Rect CSSPrimitiveValue::getRectValue() throw (dom::DOMException)
1414      */
1415     static Rect getRectValue(const CSSPrimitiveValue &/*val*/)
1416         {
1417         Rect rect;
1418         return rect;
1419         }
1421     //##################
1422     //# Non-API methods
1423     //##################
1425     /**
1426      *
1427      */
1428     Rect() {}
1430     /**
1431      *
1432      */
1433     Rect(const Rect &other)
1434         {
1435         top    = other.top;
1436         right  = other.right;
1437         bottom = other.bottom;
1438         left   = other.left;
1439         }
1441     /**
1442      *
1443      */
1444     virtual ~Rect() {}
1446 protected:
1448     CSSPrimitiveValue top;
1449     CSSPrimitiveValue right;
1450     CSSPrimitiveValue bottom;
1451     CSSPrimitiveValue left;
1452 };
1459 /*#########################################################################
1460 ## Counter
1461 #########################################################################*/
1463 /**
1464  *
1465  */
1466 class Counter
1468 public:
1470     /**
1471      *
1472      */
1473     virtual DOMString getIdentifier()
1474         {
1475         return identifier;
1476         }
1478     /**
1479      *
1480      */
1481     virtual DOMString getListStyle()
1482         {
1483         return listStyle;
1484         }
1486     /**
1487      *
1488      */
1489     virtual DOMString getSeparator()
1490         {
1491         return separator;
1492         }
1494     /**
1495      * REPLACES: Counter CSSPrimitiveValue::getCounterValue() throw (dom::DOMException)
1496      */
1497     static Counter getCounterValue(const CSSPrimitiveValue &/*val*/)
1498         {
1499         Counter counter;
1500         return counter;
1501         }
1503     //##################
1504     //# Non-API methods
1505     //##################
1507     /**
1508      *
1509      */
1510     Counter() {}
1512     /**
1513      *
1514      */
1515     Counter(const Counter &other)
1516         {
1517         identifier = other.identifier;
1518         listStyle  = other.listStyle;
1519         separator  = other.separator;
1520         }
1522     /**
1523      *
1524      */
1525     virtual ~Counter() {}
1527 protected:
1529     DOMString identifier;
1530     DOMString listStyle;
1531     DOMString separator;
1533 };
1538 /*#########################################################################
1539 ## ElementCSSInlineStyle
1540 #########################################################################*/
1542 /**
1543  *
1544  */
1545 class ElementCSSInlineStyle
1547 public:
1549     /**
1550      *
1551      */
1552     virtual CSSStyleDeclaration getStyle()
1553         {
1554         return style;
1555         }
1557     //##################
1558     //# Non-API methods
1559     //##################
1561     /**
1562      *
1563      */
1564     ElementCSSInlineStyle() {}
1566     /**
1567      *
1568      */
1569     ElementCSSInlineStyle(const ElementCSSInlineStyle &other)
1570         {
1571         style = other.style;
1572         }
1574     /**
1575      *
1576      */
1577     virtual ~ElementCSSInlineStyle() {}
1579 protected:
1581     CSSStyleDeclaration style;
1582 };
1589 /*#########################################################################
1590 ## CSS2Properties
1591 #########################################################################*/
1593 /**
1594  *
1595  */
1596 class CSS2Properties
1598 public:
1601     /**
1602      *  return the 'azimuth' property
1603      */
1604     virtual DOMString getAzimuth()
1605         {
1606         return azimuth;
1607         }
1609     /**
1610      *  set the 'azimuth' property
1611      */
1612     virtual void setAzimuth(const DOMString &val)
1613                          throw (dom::DOMException)
1614         {
1615         azimuth = val;
1616         }
1618     /**
1619      *  return the 'background' property
1620      */
1621     virtual DOMString getBackground()
1622         {
1623         return background;
1624         }
1626     /**
1627      *  set the 'background' property
1628      */
1629     virtual void setBackground(const DOMString &val)
1630                          throw (dom::DOMException)
1631         {
1632         background = val;
1633         }
1635     /**
1636      *  return the 'backgroundAttachment' property
1637      */
1638     virtual DOMString getBackgroundAttachment()
1639         {
1640         return backgroundAttachment;
1641         }
1643     /**
1644      *  set the 'backgroundAttachment' property
1645      */
1646     virtual void setBackgroundAttachment(const DOMString &val)
1647                          throw (dom::DOMException)
1648         {
1649         backgroundAttachment = val;
1650         }
1652     /**
1653      *  return the 'backgroundColor' property
1654      */
1655     virtual DOMString getBackgroundColor()
1656         {
1657         return backgroundColor;
1658         }
1660     /**
1661      *  set the 'backgroundColor' property
1662      */
1663     virtual void setBackgroundColor(const DOMString &val)
1664                          throw (dom::DOMException)
1665         {
1666         backgroundColor = val;
1667         }
1669     /**
1670      *  return the 'backgroundImage' property
1671      */
1672     virtual DOMString getBackgroundImage()
1673         {
1674         return backgroundImage;
1675         }
1677     /**
1678      *  set the 'backgroundImage' property
1679      */
1680     virtual void setBackgroundImage(const DOMString &val)
1681                          throw (dom::DOMException)
1682         {
1683         backgroundImage = val;
1684         }
1686     /**
1687      *  return the 'backgroundPosition' property
1688      */
1689     virtual DOMString getBackgroundPosition()
1690         {
1691         return backgroundPosition;
1692         }
1694     /**
1695      *  set the 'backgroundPosition' property
1696      */
1697     virtual void setBackgroundPosition(const DOMString &val)
1698                          throw (dom::DOMException)
1699         {
1700         backgroundPosition = val;
1701         }
1703     /**
1704      *  return the 'backgroundRepeat' property
1705      */
1706     virtual DOMString getBackgroundRepeat()
1707         {
1708         return backgroundRepeat;
1709         }
1711     /**
1712      *  set the 'backgroundRepeat' property
1713      */
1714     virtual void setBackgroundRepeat(const DOMString &val)
1715                          throw (dom::DOMException)
1716         {
1717         backgroundRepeat = val;
1718         }
1720     /**
1721      *  return the 'border' property
1722      */
1723     virtual DOMString getBorder()
1724         {
1725         return border;
1726         }
1728     /**
1729      *  set the 'border' property
1730      */
1731     virtual void setBorder(const DOMString &val)
1732                          throw (dom::DOMException)
1733         {
1734         border = val;
1735         }
1737     /**
1738      *  return the 'borderCollapse' property
1739      */
1740     virtual DOMString getBorderCollapse()
1741         {
1742         return borderCollapse;
1743         }
1745     /**
1746      *  set the 'borderCollapse' property
1747      */
1748     virtual void setBorderCollapse(const DOMString &val)
1749                          throw (dom::DOMException)
1750         {
1751         borderCollapse = val;
1752         }
1754     /**
1755      *  return the 'borderColor' property
1756      */
1757     virtual DOMString getBorderColor()
1758         {
1759         return borderColor;
1760         }
1762     /**
1763      *  set the 'borderColor' property
1764      */
1765     virtual void setBorderColor(const DOMString &val)
1766                          throw (dom::DOMException)
1767         {
1768         borderColor = val;
1769         }
1771     /**
1772      *  return the 'borderSpacing' property
1773      */
1774     virtual DOMString getBorderSpacing()
1775         {
1776         return borderSpacing;
1777         }
1779     /**
1780      *  set the 'borderSpacing' property
1781      */
1782     virtual void setBorderSpacing(const DOMString &val)
1783                          throw (dom::DOMException)
1784         {
1785         borderSpacing = val;
1786         }
1788     /**
1789      *  return the 'borderStyle' property
1790      */
1791     virtual DOMString getBorderStyle()
1792         {
1793         return borderStyle;
1794         }
1796     /**
1797      *  set the 'borderStyle' property
1798      */
1799     virtual void setBorderStyle(const DOMString &val)
1800                          throw (dom::DOMException)
1801         {
1802         borderStyle = val;
1803         }
1805     /**
1806      *  return the 'borderTop' property
1807      */
1808     virtual DOMString getBorderTop()
1809         {
1810         return borderTop;
1811         }
1813     /**
1814      *  set the 'borderTop' property
1815      */
1816     virtual void setBorderTop(const DOMString &val)
1817                          throw (dom::DOMException)
1818         {
1819         borderTop = val;
1820         }
1822     /**
1823      *  return the 'borderRight' property
1824      */
1825     virtual DOMString getBorderRight()
1826         {
1827         return borderRight;
1828         }
1830     /**
1831      *  set the 'borderRight' property
1832      */
1833     virtual void setBorderRight(const DOMString &val)
1834                          throw (dom::DOMException)
1835         {
1836         borderRight = val;
1837         }
1839     /**
1840      *  return the 'borderBottom' property
1841      */
1842     virtual DOMString getBorderBottom()
1843         {
1844         return borderBottom;
1845         }
1847     /**
1848      *  set the 'borderBottom' property
1849      */
1850     virtual void setBorderBottom(const DOMString &val)
1851                          throw (dom::DOMException)
1852         {
1853         borderBottom = val;
1854         }
1856     /**
1857      *  return the 'borderLeft' property
1858      */
1859     virtual DOMString getBorderLeft()
1860         {
1861         return borderLeft;
1862         }
1864     /**
1865      *  set the 'borderLeft' property
1866      */
1867     virtual void setBorderLeft(const DOMString &val)
1868                          throw (dom::DOMException)
1869         {
1870         borderLeft = val;
1871         }
1873     /**
1874      *  return the 'borderTopColor' property
1875      */
1876     virtual DOMString getBorderTopColor()
1877         {
1878         return borderTopColor;
1879         }
1881     /**
1882      *  set the 'borderTopColor' property
1883      */
1884     virtual void setBorderTopColor(const DOMString &val)
1885                          throw (dom::DOMException)
1886         {
1887     borderTopColor = val;
1888         }
1890     /**
1891      *  return the 'borderRightColor' property
1892      */
1893     virtual DOMString getBorderRightColor()
1894         {
1895         return borderRightColor;
1896         }
1898     /**
1899      *  set the 'borderRightColor' property
1900      */
1901     virtual void setBorderRightColor(const DOMString &val)
1902                          throw (dom::DOMException)
1903         {
1904         borderRightColor = val;
1905         }
1907     /**
1908      *  return the 'borderBottomColor' property
1909      */
1910     virtual DOMString getBorderBottomColor()
1911         {
1912         return borderBottomColor;
1913         }
1915     /**
1916      *  set the 'borderBottomColor' property
1917      */
1918     virtual void setBorderBottomColor(const DOMString &val)
1919                          throw (dom::DOMException)
1920         {
1921         borderBottomColor = val;
1922         }
1924     /**
1925      *  return the 'borderLeftColor' property
1926      */
1927     virtual DOMString getBorderLeftColor()
1928         {
1929         return borderLeftColor;
1930         }
1932     /**
1933      *  set the 'borderLeftColor' property
1934      */
1935     virtual void setBorderLeftColor(const DOMString &val)
1936                          throw (dom::DOMException)
1937         {
1938         borderLeftColor = val;
1939         }
1941     /**
1942      *  return the 'borderTopStyle' property
1943      */
1944     virtual DOMString getBorderTopStyle()
1945         {
1946         return borderTopStyle;
1947         }
1949     /**
1950      *  set the 'borderTopStyle' property
1951      */
1952     virtual void setBorderTopStyle(const DOMString &val)
1953                          throw (dom::DOMException)
1954         {
1955         borderTopStyle = val;
1956         }
1958     /**
1959      *  return the 'borderRightStyle' property
1960      */
1961     virtual DOMString getBorderRightStyle()
1962         {
1963         return borderRightStyle;
1964         }
1966     /**
1967      *  set the 'borderRightStyle' property
1968      */
1969     virtual void setBorderRightStyle(const DOMString &val)
1970                          throw (dom::DOMException)
1971         {
1972         borderRightStyle = val;
1973         }
1975     /**
1976      *  return the 'borderBottomStyle' property
1977      */
1978     virtual DOMString getBorderBottomStyle()
1979         {
1980         return borderBottomStyle;
1981         }
1983     /**
1984      *  set the 'borderBottomStyle' property
1985      */
1986     virtual void setBorderBottomStyle(const DOMString &val)
1987                          throw (dom::DOMException)
1988         {
1989         borderBottomStyle = val;
1990         }
1992     /**
1993      *  return the 'borderLeftStyle' property
1994      */
1995     virtual DOMString getBorderLeftStyle()
1996         {
1997         return borderLeftStyle;
1998         }
2000     /**
2001      *  set the 'borderLeftStyle' property
2002      */
2003     virtual void setBorderLeftStyle(const DOMString &val)
2004                          throw (dom::DOMException)
2005         {
2006         borderLeftStyle = val;
2007         }
2009     /**
2010      *  return the 'borderTopWidth' property
2011      */
2012     virtual DOMString getBorderTopWidth()
2013         {
2014         return borderTopWidth;
2015         }
2017     /**
2018      *  set the 'borderTopWidth' property
2019      */
2020     virtual void setBorderTopWidth(const DOMString &val)
2021                          throw (dom::DOMException)
2022         {
2023         borderTopWidth = val;
2024         }
2026     /**
2027      *  return the 'borderRightWidth' property
2028      */
2029     virtual DOMString getBorderRightWidth()
2030         {
2031         return borderRightWidth;
2032         }
2034     /**
2035      *  set the 'borderRightWidth' property
2036      */
2037     virtual void setBorderRightWidth(const DOMString &val)
2038                          throw (dom::DOMException)
2039         {
2040         borderRightWidth = val;
2041         }
2043     /**
2044      *  return the 'borderBottomWidth' property
2045      */
2046     virtual DOMString getBorderBottomWidth()
2047         {
2048         return borderBottomWidth;
2049         }
2051     /**
2052      *  set the 'borderBottomWidth' property
2053      */
2054     virtual void setBorderBottomWidth(const DOMString &val)
2055                          throw (dom::DOMException)
2056         {
2057         borderBottomWidth = val;
2058         }
2060     /**
2061      *  return the 'borderLeftWidth' property
2062      */
2063     virtual DOMString getBorderLeftWidth()
2064         {
2065         return borderLeftWidth;
2066         }
2068     /**
2069      *  set the 'borderLeftWidth' property
2070      */
2071     virtual void setBorderLeftWidth(const DOMString &val)
2072                          throw (dom::DOMException)
2073         {
2074         borderLeftWidth = val;
2075         }
2077     /**
2078      *  return the 'borderWidth' property
2079      */
2080     virtual DOMString getBorderWidth()
2081         {
2082         return borderWidth;
2083         }
2085     /**
2086      *  set the 'borderWidth' property
2087      */
2088     virtual void setBorderWidth(const DOMString &val)
2089                          throw (dom::DOMException)
2090         {
2091         borderWidth = val;
2092         }
2094     /**
2095      *  return the 'bottom' property
2096      */
2097     virtual DOMString getBottom()
2098         {
2099         return bottom;
2100         }
2102     /**
2103      *  set the 'bottom' property
2104      */
2105     virtual void setBottom(const DOMString &val)
2106                          throw (dom::DOMException)
2107         {
2108         bottom = val;
2109         }
2111     /**
2112      *  return the 'captionSide' property
2113      */
2114     virtual DOMString getCaptionSide()
2115         {
2116         return captionSide;
2117         }
2119     /**
2120      *  set the 'captionSide' property
2121      */
2122     virtual void setCaptionSide(const DOMString &val)
2123                          throw (dom::DOMException)
2124         {
2125         captionSide = val;
2126         }
2128     /**
2129      *  return the 'clear' property
2130      */
2131     virtual DOMString getClear()
2132         {
2133         return clear;
2134         }
2136     /**
2137      *  set the 'clear' property
2138      */
2139     virtual void setClear(const DOMString &val)
2140                          throw (dom::DOMException)
2141         {
2142         clear = val;
2143         }
2145     /**
2146      *  return the 'clip' property
2147      */
2148     virtual DOMString getClip()
2149         {
2150         return clip;
2151         }
2153     /**
2154      *  set the 'clip' property
2155      */
2156     virtual void setClip(const DOMString &val)
2157                          throw (dom::DOMException)
2158         {
2159         clip = val;
2160         }
2162     /**
2163      *  return the 'color' property
2164      */
2165     virtual DOMString getColor()
2166         {
2167         return color;
2168         }
2170     /**
2171      *  set the 'color' property
2172      */
2173     virtual void setColor(const DOMString &val)
2174                          throw (dom::DOMException)
2175         {
2176         color = val;
2177         }
2179     /**
2180      *  return the 'content' property
2181      */
2182     virtual DOMString getContent()
2183         {
2184         return content;
2185         }
2187     /**
2188      *  set the 'content' property
2189      */
2190     virtual void setContent(const DOMString &val)
2191                          throw (dom::DOMException)
2192         {
2193         content = val;
2194         }
2196     /**
2197      *  return the 'counterIncrement' property
2198      */
2199     virtual DOMString getCounterIncrement()
2200         {
2201         return counterIncrement;
2202         }
2204     /**
2205      *  set the 'counterIncrement' property
2206      */
2207     virtual void setCounterIncrement(const DOMString &val)
2208                          throw (dom::DOMException)
2209         {
2210         counterIncrement = val;
2211         }
2213     /**
2214      *  return the 'counterReset' property
2215      */
2216     virtual DOMString getCounterReset()
2217         {
2218         return counterReset;
2219         }
2221     /**
2222      *  set the 'counterReset' property
2223      */
2224     virtual void setCounterReset(const DOMString &val)
2225                          throw (dom::DOMException)
2226         {
2227         counterReset = val;
2228         }
2230     /**
2231      *  return the 'cue' property
2232      */
2233     virtual DOMString getCue()
2234         {
2235         return cue;
2236         }
2238     /**
2239      *  set the 'cue' property
2240      */
2241     virtual void setCue(const DOMString &val)
2242                          throw (dom::DOMException)
2243         {
2244         cue = val;
2245         }
2247     /**
2248      *  return the 'cueAfter' property
2249      */
2250     virtual DOMString getCueAfter()
2251         {
2252         return cueAfter;
2253         }
2255     /**
2256      *  set the 'cueAfter' property
2257      */
2258     virtual void setCueAfter(const DOMString &val)
2259                          throw (dom::DOMException)
2260         {
2261         cueAfter = val;
2262         }
2264     /**
2265      *  return the 'cueBefore' property
2266      */
2267     virtual DOMString getCueBefore()
2268         {
2269         return cueBefore;
2270         }
2272     /**
2273      *  set the 'cueBefore' property
2274      */
2275     virtual void setCueBefore(const DOMString &val)
2276                          throw (dom::DOMException)
2277         {
2278         cueBefore = val;
2279         }
2281     /**
2282      *  return the 'cursor' property
2283      */
2284     virtual DOMString getCursor()
2285         {
2286         return cursor;
2287         }
2289     /**
2290      *  set the 'cursor' property
2291      */
2292     virtual void setCursor(const DOMString &val)
2293                          throw (dom::DOMException)
2294         {
2295         cursor = val;
2296         }
2298     /**
2299      *  return the 'direction' property
2300      */
2301     virtual DOMString getDirection()
2302         {
2303         return direction;
2304         }
2306     /**
2307      *  set the 'direction' property
2308      */
2309     virtual void setDirection(const DOMString &val)
2310                          throw (dom::DOMException)
2311         {
2312         direction = val;
2313         }
2315     /**
2316      *  return the 'display' property
2317      */
2318     virtual DOMString getDisplay()
2319         {
2320         return display;
2321         }
2323     /**
2324      *  set the 'display' property
2325      */
2326     virtual void setDisplay(const DOMString &val)
2327                          throw (dom::DOMException)
2328         {
2329         display = val;
2330         }
2332     /**
2333      *  return the 'elevation' property
2334      */
2335     virtual DOMString getElevation()
2336         {
2337         return elevation;
2338         }
2340     /**
2341      *  set the 'elevation' property
2342      */
2343     virtual void setElevation(const DOMString &val)
2344                          throw (dom::DOMException)
2345         {
2346         elevation = val;
2347         }
2349     /**
2350      *  return the 'emptyCells' property
2351      */
2352     virtual DOMString getEmptyCells()
2353         {
2354         return emptyCells;
2355         }
2357     /**
2358      *  set the 'emptyCells' property
2359      */
2360     virtual void setEmptyCells(const DOMString &val)
2361                          throw (dom::DOMException)
2362         {
2363         emptyCells = val;
2364         }
2366     /**
2367      *  return the 'cssFloat' property
2368      */
2369     virtual DOMString getCssFloat()
2370         {
2371         return cssFloat;
2372         }
2374     /**
2375      *  set the 'cssFloat' property
2376      */
2377     virtual void setCssFloat(const DOMString &val)
2378                          throw (dom::DOMException)
2379         {
2380         cssFloat = val;
2381         }
2383     /**
2384      *  return the 'font' property
2385      */
2386     virtual DOMString getFont()
2387         {
2388         return font;
2389         }
2391     /**
2392      *  set the 'font' property
2393      */
2394     virtual void setFont(const DOMString &val)
2395                          throw (dom::DOMException)
2396         {
2397         font = val;
2398         }
2400     /**
2401      *  return the 'fontFamily' property
2402      */
2403     virtual DOMString getFontFamily()
2404         {
2405         return fontFamily;
2406         }
2408     /**
2409      *  set the 'fontFamily' property
2410      */
2411     virtual void setFontFamily(const DOMString &val)
2412                          throw (dom::DOMException)
2413         {
2414         fontFamily = val;
2415         }
2417     /**
2418      *  return the 'fontSize' property
2419      */
2420     virtual DOMString getFontSize()
2421         {
2422         return fontSize;
2423         }
2425     /**
2426      *  set the 'fontSize' property
2427      */
2428     virtual void setFontSize(const DOMString &val)
2429                          throw (dom::DOMException)
2430         {
2431         fontSize = val;
2432         }
2434     /**
2435      *  return the 'fontSizeAdjust' property
2436      */
2437     virtual DOMString getFontSizeAdjust()
2438         {
2439         return fontSizeAdjust;
2440         }
2442     /**
2443      *  set the 'fontSizeAdjust' property
2444      */
2445     virtual void setFontSizeAdjust(const DOMString &val)
2446                          throw (dom::DOMException)
2447         {
2448         fontSizeAdjust = val;
2449         }
2451     /**
2452      *  return the 'fontStretch' property
2453      */
2454     virtual DOMString getFontStretch()
2455         {
2456         return fontStretch;
2457         }
2459     /**
2460      *  set the 'fontStretch' property
2461      */
2462     virtual void setFontStretch(const DOMString &val)
2463                          throw (dom::DOMException)
2464         {
2465         fontStretch = val;
2466         }
2468     /**
2469      *  return the 'fontStyle' property
2470      */
2471     virtual DOMString getFontStyle()
2472         {
2473         return fontStyle;
2474         }
2476     /**
2477      *  set the 'fontStyle' property
2478      */
2479     virtual void setFontStyle(const DOMString &val)
2480                          throw (dom::DOMException)
2481         {
2482         fontStyle = val;
2483         }
2485     /**
2486      *  return the 'fontVariant' property
2487      */
2488     virtual DOMString getFontVariant()
2489         {
2490         return fontVariant;
2491         }
2493     /**
2494      *  set the 'fontVariant' property
2495      */
2496     virtual void setFontVariant(const DOMString &val)
2497                          throw (dom::DOMException)
2498         {
2499         fontVariant = val;
2500         }
2502     /**
2503      *  return the 'fontWeight' property
2504      */
2505     virtual DOMString getFontWeight()
2506         {
2507         return fontWeight;
2508         }
2510     /**
2511      *  set the 'fontWeight' property
2512      */
2513     virtual void setFontWeight(const DOMString &val)
2514                          throw (dom::DOMException)
2515         {
2516         fontWeight = val;
2517         }
2519     /**
2520      *  return the 'height' property
2521      */
2522     virtual DOMString getHeight()
2523         {
2524         return height;
2525         }
2527     /**
2528      *  set the 'height' property
2529      */
2530     virtual void setHeight(const DOMString &val)
2531                          throw (dom::DOMException)
2532         {
2533         height = val;
2534         }
2536     /**
2537      *  return the 'left' property
2538      */
2539     virtual DOMString getLeft()
2540         {
2541         return left;
2542         }
2544     /**
2545      *  set the 'left' property
2546      */
2547     virtual void setLeft(const DOMString &val)
2548                          throw (dom::DOMException)
2549         {
2550         left = val;
2551         }
2553     /**
2554      *  return the 'letterSpacing' property
2555      */
2556     virtual DOMString getLetterSpacing()
2557         {
2558         return letterSpacing;
2559         }
2561     /**
2562      *  set the 'letterSpacing' property
2563      */
2564     virtual void setLetterSpacing(const DOMString &val)
2565                          throw (dom::DOMException)
2566         {
2567         letterSpacing = val;
2568         }
2570     /**
2571      *  return the 'lineHeight' property
2572      */
2573     virtual DOMString getLineHeight()
2574         {
2575         return lineHeight;
2576         }
2578     /**
2579      *  set the 'lineHeight' property
2580      */
2581     virtual void setLineHeight(const DOMString &val)
2582                          throw (dom::DOMException)
2583         {
2584         lineHeight = val;
2585         }
2587     /**
2588      *  return the 'listStyle' property
2589      */
2590     virtual DOMString getListStyle()
2591         {
2592         return listStyle;
2593         }
2595     /**
2596      *  set the 'listStyle' property
2597      */
2598     virtual void setListStyle(const DOMString &val)
2599                          throw (dom::DOMException)
2600         {
2601         listStyle = val;
2602         }
2604     /**
2605      *  return the 'listStyleImage' property
2606      */
2607     virtual DOMString getListStyleImage()
2608         {
2609         return listStyleImage;
2610         }
2612     /**
2613      *  set the 'listStyleImage' property
2614      */
2615     virtual void setListStyleImage(const DOMString &val)
2616                          throw (dom::DOMException)
2617         {
2618         listStyleImage = val;
2619         }
2621     /**
2622      *  return the 'listStylePosition' property
2623      */
2624     virtual DOMString getListStylePosition()
2625         {
2626         return listStylePosition;
2627         }
2629     /**
2630      *  set the 'listStylePosition' property
2631      */
2632     virtual void setListStylePosition(const DOMString &val)
2633                          throw (dom::DOMException)
2634         {
2635         listStylePosition = val;
2636         }
2638     /**
2639      *  return the 'listStyleType' property
2640      */
2641     virtual DOMString getListStyleType()
2642         {
2643         return listStyleType;
2644         }
2646     /**
2647      *  set the 'listStyleType' property
2648      */
2649     virtual void setListStyleType(const DOMString &val)
2650                          throw (dom::DOMException)
2651         {
2652         listStyleType = val;
2653         }
2655     /**
2656      *  return the 'margin' property
2657      */
2658     virtual DOMString getMargin()
2659         {
2660         return margin;
2661         }
2663     /**
2664      *  set the 'margin' property
2665      */
2666     virtual void setMargin(const DOMString &val)
2667                          throw (dom::DOMException)
2668         {
2669         margin = val;
2670         }
2672     /**
2673      *  return the 'marginTop' property
2674      */
2675     virtual DOMString getMarginTop()
2676         {
2677         return marginTop;
2678         }
2680     /**
2681      *  set the 'marginTop' property
2682      */
2683     virtual void setMarginTop(const DOMString &val)
2684                          throw (dom::DOMException)
2685         {
2686         marginTop = val;
2687         }
2689     /**
2690      *  return the 'marginRight' property
2691      */
2692     virtual DOMString getMarginRight()
2693         {
2694         return marginRight;
2695         }
2697     /**
2698      *  set the 'marginRight' property
2699      */
2700     virtual void setMarginRight(const DOMString &val)
2701                          throw (dom::DOMException)
2702         {
2703         marginRight = val;
2704         }
2706     /**
2707      *  return the 'marginBottom' property
2708      */
2709     virtual DOMString getMarginBottom()
2710         {
2711         return marginBottom;
2712         }
2714     /**
2715      *  set the 'marginBottom' property
2716      */
2717     virtual void setMarginBottom(const DOMString &val)
2718                          throw (dom::DOMException)
2719         {
2720         marginBottom = val;
2721         }
2723     /**
2724      *  return the 'marginLeft' property
2725      */
2726     virtual DOMString getMarginLeft()
2727         {
2728         return marginLeft;
2729         }
2731     /**
2732      *  set the 'marginLeft' property
2733      */
2734     virtual void setMarginLeft(const DOMString &val)
2735                          throw (dom::DOMException)
2736         {
2737         marginLeft = val;
2738         }
2740     /**
2741      *  return the 'markerOffset' property
2742      */
2743     virtual DOMString getMarkerOffset()
2744         {
2745         return markerOffset;
2746         }
2748     /**
2749      *  set the 'markerOffset' property
2750      */
2751     virtual void setMarkerOffset(const DOMString &val)
2752                          throw (dom::DOMException)
2753         {
2754         markerOffset = val;
2755         }
2757     /**
2758      *  return the 'marks' property
2759      */
2760     virtual DOMString getMarks()
2761         {
2762         return marks;
2763         }
2765     /**
2766      *  set the 'marks' property
2767      */
2768     virtual void setMarks(const DOMString &val)
2769                          throw (dom::DOMException)
2770         {
2771         marks = val;
2772         }
2774     /**
2775      *  return the 'maxHeight' property
2776      */
2777     virtual DOMString getMaxHeight()
2778         {
2779         return maxHeight;
2780         }
2782     /**
2783      *  set the 'maxHeight' property
2784      */
2785     virtual void setMaxHeight(const DOMString &val)
2786                          throw (dom::DOMException)
2787         {
2788         maxHeight = val;
2789         }
2791     /**
2792      *  return the 'maxWidth' property
2793      */
2794     virtual DOMString getMaxWidth()
2795         {
2796         return maxWidth;
2797         }
2799     /**
2800      *  set the 'maxWidth' property
2801      */
2802     virtual void setMaxWidth(const DOMString &val)
2803                          throw (dom::DOMException)
2804         {
2805         maxWidth = val;
2806         }
2808     /**
2809      *  return the 'minHeight' property
2810      */
2811     virtual DOMString getMinHeight()
2812         {
2813         return minHeight;
2814         }
2816     /**
2817      *  set the 'minHeight' property
2818      */
2819     virtual void setMinHeight(const DOMString &val)
2820                          throw (dom::DOMException)
2821         {
2822         minHeight = val;
2823         }
2825     /**
2826      *  return the 'minWidth' property
2827      */
2828     virtual DOMString getMinWidth()
2829         {
2830         return minWidth;
2831         }
2833     /**
2834      *  set the 'minWidth' property
2835      */
2836     virtual void setMinWidth(const DOMString &val)
2837                          throw (dom::DOMException)
2838         {
2839         minWidth = val;
2840         }
2842     /**
2843      *  return the 'orphans' property
2844      */
2845     virtual DOMString getOrphans()
2846         {
2847         return orphans;
2848         }
2850     /**
2851      *  set the 'orphans' property
2852      */
2853     virtual void setOrphans(const DOMString &val)
2854                          throw (dom::DOMException)
2855         {
2856         orphans = val;
2857         }
2859     /**
2860      *  return the 'outline' property
2861      */
2862     virtual DOMString getOutline()
2863         {
2864         return outline;
2865         }
2867     /**
2868      *  set the 'outline' property
2869      */
2870     virtual void setOutline(const DOMString &val)
2871                          throw (dom::DOMException)
2872         {
2873         outline = val;
2874         }
2876     /**
2877      *  return the 'outlineColor' property
2878      */
2879     virtual DOMString getOutlineColor()
2880         {
2881         return outlineColor;
2882         }
2884     /**
2885      *  set the 'outlineColor' property
2886      */
2887     virtual void setOutlineColor(const DOMString &val)
2888                          throw (dom::DOMException)
2889         {
2890         outlineColor = val;
2891         }
2893     /**
2894      *  return the 'outlineStyle' property
2895      */
2896     virtual DOMString getOutlineStyle()
2897         {
2898         return outlineStyle;
2899         }
2901     /**
2902      *  set the 'outlineStyle' property
2903      */
2904     virtual void setOutlineStyle(const DOMString &val)
2905                          throw (dom::DOMException)
2906         {
2907         outlineStyle = val;
2908         }
2910     /**
2911      *  return the 'outlineWidth' property
2912      */
2913     virtual DOMString getOutlineWidth()
2914         {
2915         return outlineWidth;
2916         }
2918     /**
2919      *  set the 'outlineWidth' property
2920      */
2921     virtual void setOutlineWidth(const DOMString &val)
2922                          throw (dom::DOMException)
2923         {
2924         outlineWidth = val;
2925         }
2927     /**
2928      *  return the 'overflow' property
2929      */
2930     virtual DOMString getOverflow()
2931         {
2932         return overflow;
2933         }
2935     /**
2936      *  set the 'overflow' property
2937      */
2938     virtual void setOverflow(const DOMString &val)
2939                          throw (dom::DOMException)
2940         {
2941         overflow = val;
2942         }
2944     /**
2945      *  return the 'padding' property
2946      */
2947     virtual DOMString getPadding()
2948         {
2949         return padding;
2950         }
2952     /**
2953      *  set the 'padding' property
2954      */
2955     virtual void setPadding(const DOMString &val)
2956                          throw (dom::DOMException)
2957         {
2958         padding = val;
2959         }
2961     /**
2962      *  return the 'paddingTop' property
2963      */
2964     virtual DOMString getPaddingTop()
2965         {
2966         return paddingTop;
2967         }
2969     /**
2970      *  set the 'paddingTop' property
2971      */
2972     virtual void setPaddingTop(const DOMString &val)
2973                          throw (dom::DOMException)
2974         {
2975         paddingTop = val;
2976         }
2978     /**
2979      *  return the 'paddingRight' property
2980      */
2981     virtual DOMString getPaddingRight()
2982         {
2983         return paddingRight;
2984         }
2986     /**
2987      *  set the 'paddingRight' property
2988      */
2989     virtual void setPaddingRight(const DOMString &val)
2990                          throw (dom::DOMException)
2991         {
2992         paddingRight = val;
2993         }
2995     /**
2996      *  return the 'paddingBottom' property
2997      */
2998     virtual DOMString getPaddingBottom()
2999         {
3000         return paddingBottom;
3001         }
3003     /**
3004      *  set the 'paddingBottom' property
3005      */
3006     virtual void setPaddingBottom(const DOMString &val)
3007                          throw (dom::DOMException)
3008         {
3009         paddingBottom = val;
3010         }
3012     /**
3013      *  return the 'paddingLeft' property
3014      */
3015     virtual DOMString getPaddingLeft()
3016         {
3017         return paddingLeft;
3018         }
3020     /**
3021      *  set the 'paddingLeft' property
3022      */
3023     virtual void setPaddingLeft(const DOMString &val)
3024                          throw (dom::DOMException)
3025         {
3026         paddingLeft = val;
3027         }
3029     /**
3030      *  return the 'page' property
3031      */
3032     virtual DOMString getPage()
3033         {
3034         return page;
3035         }
3037     /**
3038      *  set the 'page' property
3039      */
3040     virtual void setPage(const DOMString &val)
3041                          throw (dom::DOMException)
3042         {
3043         page = val;
3044         }
3046     /**
3047      *  return the 'pageBreakAfter' property
3048      */
3049     virtual DOMString getPageBreakAfter()
3050         {
3051         return pageBreakAfter;
3052         }
3054     /**
3055      *  set the 'pageBreakAfter' property
3056      */
3057     virtual void setPageBreakAfter(const DOMString &val)
3058                          throw (dom::DOMException)
3059         {
3060         pageBreakAfter = val;
3061         }
3063     /**
3064      *  return the 'pageBreakBefore' property
3065      */
3066     virtual DOMString getPageBreakBefore()
3067         {
3068         return pageBreakBefore;
3069         }
3071     /**
3072      *  set the 'pageBreakBefore' property
3073      */
3074     virtual void setPageBreakBefore(const DOMString &val)
3075                          throw (dom::DOMException)
3076         {
3077         pageBreakBefore = val;
3078         }
3080     /**
3081      *  return the 'pageBreakInside' property
3082      */
3083     virtual DOMString getPageBreakInside()
3084         {
3085         return pageBreakInside;
3086         }
3088     /**
3089      *  set the 'pageBreakInside' property
3090      */
3091     virtual void setPageBreakInside(const DOMString &val)
3092                          throw (dom::DOMException)
3093         {
3094         pageBreakInside = val;
3095         }
3097     /**
3098      *  return the 'pause' property
3099      */
3100     virtual DOMString getPause()
3101         {
3102         return pause;
3103         }
3105     /**
3106      *  set the 'pause' property
3107      */
3108     virtual void setPause(const DOMString &val)
3109                          throw (dom::DOMException)
3110         {
3111         pause = val;
3112         }
3114     /**
3115      *  return the 'pauseAfter' property
3116      */
3117     virtual DOMString getPauseAfter()
3118         {
3119         return pauseAfter;
3120         }
3122     /**
3123      *  set the 'pauseAfter' property
3124      */
3125     virtual void setPauseAfter(const DOMString &val)
3126                          throw (dom::DOMException)
3127         {
3128         pauseAfter = val;
3129         }
3131     /**
3132      *  return the 'pauseBefore' property
3133      */
3134     virtual DOMString getPauseBefore()
3135         {
3136         return pauseBefore;
3137         }
3139     /**
3140      *  set the 'pauseBefore' property
3141      */
3142     virtual void setPauseBefore(const DOMString &val)
3143                          throw (dom::DOMException)
3144         {
3145         pauseBefore = val;
3146         }
3148     /**
3149      *  return the 'pitch' property
3150      */
3151     virtual DOMString getPitch()
3152         {
3153         return pitch;
3154         }
3156     /**
3157      *  set the 'pitch' property
3158      */
3159     virtual void setPitch(const DOMString &val)
3160                          throw (dom::DOMException)
3161         {
3162         pitch = val;
3163         }
3165     /**
3166      *  return the 'pitchRange' property
3167      */
3168     virtual DOMString getPitchRange()
3169         {
3170         return pitchRange;
3171         }
3173     /**
3174      *  set the 'pitchRange' property
3175      */
3176     virtual void setPitchRange(const DOMString &val)
3177                          throw (dom::DOMException)
3178         {
3179         pitchRange = val;
3180         }
3182     /**
3183      *  return the 'playDuring' property
3184      */
3185     virtual DOMString getPlayDuring()
3186         {
3187         return playDuring;
3188         }
3190     /**
3191      *  set the 'playDuring' property
3192      */
3193     virtual void setPlayDuring(const DOMString &val)
3194                          throw (dom::DOMException)
3195         {
3196         playDuring = val;
3197         }
3199     /**
3200      *  return the 'position' property
3201      */
3202     virtual DOMString getPosition()
3203         {
3204         return position;
3205         }
3207     /**
3208      *  set the 'position' property
3209      */
3210     virtual void setPosition(const DOMString &val)
3211                          throw (dom::DOMException)
3212         {
3213         position = val;
3214         }
3216     /**
3217      *  return the 'quotes' property
3218      */
3219     virtual DOMString getQuotes()
3220         {
3221         return quotes;
3222         }
3224     /**
3225      *  set the 'quotes' property
3226      */
3227     virtual void setQuotes(const DOMString &val)
3228                          throw (dom::DOMException)
3229         {
3230         quotes = val;
3231         }
3233     /**
3234      *  return the 'richness' property
3235      */
3236     virtual DOMString getRichness()
3237         {
3238         return richness;
3239         }
3241     /**
3242      *  set the 'richness' property
3243      */
3244     virtual void setRichness(const DOMString &val)
3245                          throw (dom::DOMException)
3246         {
3247         richness = val;
3248         }
3250     /**
3251      *  return the 'right' property
3252      */
3253     virtual DOMString getRight()
3254         {
3255         return right;
3256         }
3258     /**
3259      *  set the 'right' property
3260      */
3261     virtual void setRight(const DOMString &val)
3262                          throw (dom::DOMException)
3263         {
3264         right = val;
3265         }
3267     /**
3268      *  return the 'size' property
3269      */
3270     virtual DOMString getSize()
3271         {
3272         return size;
3273         }
3275     /**
3276      *  set the 'size' property
3277      */
3278     virtual void setSize(const DOMString &val)
3279                          throw (dom::DOMException)
3280         {
3281         size = val;
3282         }
3284     /**
3285      *  return the 'speak' property
3286      */
3287     virtual DOMString getSpeak()
3288         {
3289         return speak;
3290         }
3292     /**
3293      *  set the 'speak' property
3294      */
3295     virtual void setSpeak(const DOMString &val)
3296                          throw (dom::DOMException)
3297         {
3298         speak = val;
3299         }
3301     /**
3302      *  return the 'speakHeader' property
3303      */
3304     virtual DOMString getSpeakHeader()
3305         {
3306         return speakHeader;
3307         }
3309     /**
3310      *  set the 'speakHeader' property
3311      */
3312     virtual void setSpeakHeader(const DOMString &val)
3313                          throw (dom::DOMException)
3314         {
3315         speakHeader = val;
3316         }
3318     /**
3319      *  return the 'speakNumeral' property
3320      */
3321     virtual DOMString getSpeakNumeral()
3322         {
3323         return speakNumeral;
3324         }
3326     /**
3327      *  set the 'speakNumeral' property
3328      */
3329     virtual void setSpeakNumeral(const DOMString &val)
3330                          throw (dom::DOMException)
3331         {
3332         speakNumeral = val;
3333         }
3335     /**
3336      *  return the 'speakPunctuation' property
3337      */
3338     virtual DOMString getSpeakPunctuation()
3339         {
3340         return speakPunctuation;
3341         }
3343     /**
3344      *  set the 'speakPunctuation' property
3345      */
3346     virtual void setSpeakPunctuation(const DOMString &val)
3347                          throw (dom::DOMException)
3348         {
3349         speakPunctuation = val;
3350         }
3352     /**
3353      *  return the 'speechRate' property
3354      */
3355     virtual DOMString getSpeechRate()
3356         {
3357         return speechRate;
3358         }
3360     /**
3361      *  set the 'speechRate' property
3362      */
3363     virtual void setSpeechRate(const DOMString &val)
3364                          throw (dom::DOMException)
3365         {
3366         speechRate = val;
3367         }
3369     /**
3370      *  return the 'stress' property
3371      */
3372     virtual DOMString getStress()
3373         {
3374         return stress;
3375         }
3377     /**
3378      *  set the 'stress' property
3379      */
3380     virtual void setStress(const DOMString &val)
3381                          throw (dom::DOMException)
3382         {
3383         stress = val;
3384         }
3386     /**
3387      *  return the 'tableLayout' property
3388      */
3389     virtual DOMString getTableLayout()
3390         {
3391         return tableLayout;
3392         }
3394     /**
3395      *  set the 'tableLayout' property
3396      */
3397     virtual void setTableLayout(const DOMString &val)
3398                          throw (dom::DOMException)
3399         {
3400         tableLayout = val;
3401         }
3403     /**
3404      *  return the 'textAlign' property
3405      */
3406     virtual DOMString getTextAlign()
3407         {
3408         return textAlign;
3409         }
3411     /**
3412      *  set the 'textAlign' property
3413      */
3414     virtual void setTextAlign(const DOMString &val)
3415                          throw (dom::DOMException)
3416         {
3417         textAlign = val;
3418         }
3420     /**
3421      *  return the 'textDecoration' property
3422      */
3423     virtual DOMString getTextDecoration()
3424         {
3425         return textDecoration;
3426         }
3428     /**
3429      *  set the 'textDecoration' property
3430      */
3431     virtual void setTextDecoration(const DOMString &val)
3432                          throw (dom::DOMException)
3433         {
3434         textDecoration = val;
3435         }
3437     /**
3438      *  return the 'textIndent' property
3439      */
3440     virtual DOMString getTextIndent()
3441         {
3442         return textIndent;
3443         }
3445     /**
3446      *  set the 'textIndent' property
3447      */
3448     virtual void setTextIndent(const DOMString &val)
3449                          throw (dom::DOMException)
3450         {
3451         textIndent = val;
3452         }
3454     /**
3455      *  return the 'textShadow' property
3456      */
3457     virtual DOMString getTextShadow()
3458         {
3459         return textShadow;
3460         }
3462     /**
3463      *  set the 'textShadow' property
3464      */
3465     virtual void setTextShadow(const DOMString &val)
3466                          throw (dom::DOMException)
3467         {
3468         textShadow = val;
3469         }
3471     /**
3472      *  return the 'textTransform' property
3473      */
3474     virtual DOMString getTextTransform()
3475         {
3476         return textTransform;
3477         }
3479     /**
3480      *  set the 'textTransform' property
3481      */
3482     virtual void setTextTransform(const DOMString &val)
3483                          throw (dom::DOMException)
3484         {
3485         textTransform = val;
3486         }
3488     /**
3489      *  return the 'top' property
3490      */
3491     virtual DOMString getTop()
3492         {
3493         return top;
3494         }
3496     /**
3497      *  set the 'top' property
3498      */
3499     virtual void setTop(const DOMString &val)
3500                          throw (dom::DOMException)
3501         {
3502         top = val;
3503         }
3505     /**
3506      *  return the 'unicodeBidi' property
3507      */
3508     virtual DOMString getUnicodeBidi()
3509         {
3510         return unicodeBidi;
3511         }
3513     /**
3514      *  set the 'unicodeBidi' property
3515      */
3516     virtual void setUnicodeBidi(const DOMString &val)
3517                          throw (dom::DOMException)
3518         {
3519         unicodeBidi = val;
3520         }
3522     /**
3523      *  return the 'verticalAlign' property
3524      */
3525     virtual DOMString getVerticalAlign()
3526         {
3527         return verticalAlign;
3528         }
3530     /**
3531      *  set the 'verticalAlign' property
3532      */
3533     virtual void setVerticalAlign(const DOMString &val)
3534                          throw (dom::DOMException)
3535         {
3536         verticalAlign = val;
3537         }
3539     /**
3540      *  return the 'visibility' property
3541      */
3542     virtual DOMString getVisibility()
3543         {
3544         return visibility;
3545         }
3547     /**
3548      *  set the 'visibility' property
3549      */
3550     virtual void setVisibility(const DOMString &val)
3551                          throw (dom::DOMException)
3552         {
3553         visibility = val;
3554         }
3556     /**
3557      *  return the 'voiceFamily' property
3558      */
3559     virtual DOMString getVoiceFamily()
3560         {
3561         return voiceFamily;
3562         }
3564     /**
3565      *  set the 'voiceFamily' property
3566      */
3567     virtual void setVoiceFamily(const DOMString &val)
3568                          throw (dom::DOMException)
3569         {
3570         voiceFamily = val;
3571         }
3573     /**
3574      *  return the 'volume' property
3575      */
3576     virtual DOMString getVolume()
3577         {
3578         return volume;
3579         }
3581     /**
3582      *  set the 'volume' property
3583      */
3584     virtual void setVolume(const DOMString &val)
3585                          throw (dom::DOMException)
3586         {
3587         volume = val;
3588         }
3590     /**
3591      *  return the 'whiteSpace' property
3592      */
3593     virtual DOMString getWhiteSpace()
3594         {
3595         return whiteSpace;
3596         }
3598     /**
3599      *  set the 'whiteSpace' property
3600      */
3601     virtual void setWhiteSpace(const DOMString &val)
3602                          throw (dom::DOMException)
3603         {
3604         whiteSpace = val;
3605         }
3607     /**
3608      *  return the 'widows' property
3609      */
3610     virtual DOMString getWidows()
3611         {
3612         return widows;
3613         }
3615     /**
3616      *  set the 'widows' property
3617      */
3618     virtual void setWidows(const DOMString &val)
3619                          throw (dom::DOMException)
3620         {
3621         widows = val;
3622         }
3624     /**
3625      *  return the 'width' property
3626      */
3627     virtual DOMString getWidth()
3628         {
3629         return width;
3630         }
3632     /**
3633      *  set the 'width' property
3634      */
3635     virtual void setWidth(const DOMString &val)
3636                          throw (dom::DOMException)
3637         {
3638         width = val;
3639         }
3641     /**
3642      *  return the 'wordSpacing' property
3643      */
3644     virtual DOMString getWordSpacing()
3645         {
3646         return wordSpacing;
3647         }
3649     /**
3650      *  set the 'wordSpacing' property
3651      */
3652     virtual void setWordSpacing(const DOMString &val)
3653                          throw (dom::DOMException)
3654         {
3655         wordSpacing = val;
3656         }
3658     /**
3659      *  return the 'zIndex' property
3660      */
3661     virtual DOMString getZIndex()
3662         {
3663         return zIndex;
3664         }
3666     /**
3667      *  set the 'zIndex' property
3668      */
3669     virtual void setZIndex(const DOMString &val)
3670                          throw (dom::DOMException)
3671         {
3672         zIndex = val;
3673         }
3677     //##################
3678     //# Non-API methods
3679     //##################
3681     /**
3682      *
3683      */
3684     CSS2Properties()
3685         {
3686         }
3688     /**
3689      *
3690      */
3691     CSS2Properties(const CSS2Properties &other)
3692         {
3693         azimuth              = other.azimuth;
3694         background           = other.background;
3695         backgroundAttachment = other.backgroundAttachment;
3696         backgroundColor      = other.backgroundColor;
3697         backgroundImage      = other.backgroundImage;
3698         backgroundPosition   = other.backgroundPosition;
3699         backgroundRepeat     = other.backgroundRepeat;
3700         border               = other.border;
3701         borderCollapse       = other.borderCollapse;
3702         borderColor          = other.borderColor;
3703         borderSpacing        = other.borderSpacing;
3704         borderStyle          = other.borderStyle;
3705         borderTop            = other.borderTop;
3706         borderRight          = other.borderRight;
3707         borderBottom         = other.borderBottom;
3708         borderLeft           = other.borderLeft;
3709         borderTopColor       = other.borderTopColor;
3710         borderRightColor     = other.borderRightColor;
3711         borderBottomColor    = other.borderBottomColor;
3712         borderLeftColor      = other.borderLeftColor;
3713         borderTopStyle       = other.borderTopStyle;
3714         borderRightStyle     = other.borderRightStyle;
3715         borderBottomStyle    = other.borderBottomStyle;
3716         borderLeftStyle      = other.borderLeftStyle;
3717         borderTopWidth       = other.borderTopWidth;
3718         borderRightWidth     = other.borderRightWidth;
3719         borderBottomWidth    = other.borderBottomWidth;
3720         borderLeftWidth      = other.borderLeftWidth;
3721         borderWidth          = other.borderWidth;
3722         bottom               = other.bottom;
3723         captionSide          = other.captionSide;
3724         clear                = other.clear;
3725         clip                 = other.clip;
3726         color                = other.color;
3727         content              = other.content;
3728         counterIncrement     = other.counterIncrement;
3729         counterReset         = other.counterReset;
3730         cue                  = other.cue;
3731         cueAfter             = other.cueAfter;
3732         cueBefore            = other.cueBefore;
3733         cursor               = other.cursor;
3734         direction            = other.direction;
3735         display              = other.display;
3736         elevation            = other.elevation;
3737         emptyCells           = other.emptyCells;
3738         cssFloat             = other.cssFloat;
3739         font                 = other.font;
3740         fontFamily           = other.fontFamily;
3741         fontSize             = other.fontSize;
3742         fontSizeAdjust       = other.fontSizeAdjust;
3743         fontStretch          = other.fontStretch;
3744         fontStyle            = other.fontStyle;
3745         fontVariant          = other.fontVariant;
3746         fontWeight           = other.fontWeight;
3747         height               = other.height;
3748         left                 = other.left;
3749         letterSpacing        = other.letterSpacing;
3750         lineHeight           = other.lineHeight;
3751         listStyle            = other.listStyle;
3752         listStyleImage       = other.listStyleImage;
3753         listStylePosition    = other.listStylePosition;
3754         listStyleType        = other.listStyleType;
3755         margin               = other.margin;
3756         marginTop            = other.marginTop;
3757         marginRight          = other.marginRight;
3758         marginBottom         = other.marginBottom;
3759         marginLeft           = other.marginLeft;
3760         markerOffset         = other.markerOffset;
3761         marks                = other.marks;
3762         maxHeight            = other.maxHeight;
3763         maxWidth             = other.maxWidth;
3764         minHeight            = other.minHeight;
3765         minWidth             = other.minWidth;
3766         orphans              = other.orphans;
3767         outline              = other.outline;
3768         outlineColor         = other.outlineColor;
3769         outlineStyle         = other.outlineStyle;
3770         outlineWidth         = other.outlineWidth;
3771         overflow             = other.overflow;
3772         padding              = other.padding;
3773         paddingTop           = other.paddingTop;
3774         paddingRight         = other.paddingRight;
3775         paddingBottom        = other.paddingBottom;
3776         paddingLeft          = other.paddingLeft;
3777         page                 = other.page;
3778         pageBreakAfter       = other.pageBreakAfter;
3779         pageBreakBefore      = other.pageBreakBefore;
3780         pageBreakInside      = other.pageBreakInside;
3781         pause                = other.pause;
3782         pauseAfter           = other.pauseAfter;
3783         pauseBefore          = other.pauseBefore;
3784         pitch                = other.pitch;
3785         pitchRange           = other.pitchRange;
3786         playDuring           = other.playDuring;
3787         position             = other.position;
3788         quotes               = other.quotes;
3789         richness             = other.richness;
3790         right                = other.right;
3791         size                 = other.size;
3792         speak                = other.speak;
3793         speakHeader          = other.speakHeader;
3794         speakNumeral         = other.speakNumeral;
3795         speakPunctuation     = other.speakPunctuation;
3796         speechRate           = other.speechRate;
3797         stress               = other.stress;
3798         tableLayout          = other.tableLayout;
3799         textAlign            = other.textAlign;
3800         textDecoration       = other.textDecoration;
3801         textIndent           = other.textIndent;
3802         textShadow           = other.textShadow;
3803         textTransform        = other.textTransform;
3804         top                  = other.top;
3805         unicodeBidi          = other.unicodeBidi;
3806         verticalAlign        = other.verticalAlign;
3807         visibility           = other.visibility;
3808         voiceFamily          = other.voiceFamily;
3809         volume               = other.volume;
3810         whiteSpace           = other.whiteSpace;
3811         widows               = other.widows;
3812         width                = other.width;
3813         wordSpacing          = other.wordSpacing;
3814         zIndex               = other.zIndex;
3815         }
3817     /**
3818      *
3819      */
3820     virtual ~CSS2Properties() {}
3822 protected:
3824     //######################
3825     //# P R O P E R T I E S
3826     //######################
3827     DOMString azimuth;
3828     DOMString background;
3829     DOMString backgroundAttachment;
3830     DOMString backgroundColor;
3831     DOMString backgroundImage;
3832     DOMString backgroundPosition;
3833     DOMString backgroundRepeat;
3834     DOMString border;
3835     DOMString borderCollapse;
3836     DOMString borderColor;
3837     DOMString borderSpacing;
3838     DOMString borderStyle;
3839     DOMString borderTop;
3840     DOMString borderRight;
3841     DOMString borderBottom;
3842     DOMString borderLeft;
3843     DOMString borderTopColor;
3844     DOMString borderRightColor;
3845     DOMString borderBottomColor;
3846     DOMString borderLeftColor;
3847     DOMString borderTopStyle;
3848     DOMString borderRightStyle;
3849     DOMString borderBottomStyle;
3850     DOMString borderLeftStyle;
3851     DOMString borderTopWidth;
3852     DOMString borderRightWidth;
3853     DOMString borderBottomWidth;
3854     DOMString borderLeftWidth;
3855     DOMString borderWidth;
3856     DOMString bottom;
3857     DOMString captionSide;
3858     DOMString clear;
3859     DOMString clip;
3860     DOMString color;
3861     DOMString content;
3862     DOMString counterIncrement;
3863     DOMString counterReset;
3864     DOMString cue;
3865     DOMString cueAfter;
3866     DOMString cueBefore;
3867     DOMString cursor;
3868     DOMString direction;
3869     DOMString display;
3870     DOMString elevation;
3871     DOMString emptyCells;
3872     DOMString cssFloat;
3873     DOMString font;
3874     DOMString fontFamily;
3875     DOMString fontSize;
3876     DOMString fontSizeAdjust;
3877     DOMString fontStretch;
3878     DOMString fontStyle;
3879     DOMString fontVariant;
3880     DOMString fontWeight;
3881     DOMString height;
3882     DOMString left;
3883     DOMString letterSpacing;
3884     DOMString lineHeight;
3885     DOMString listStyle;
3886     DOMString listStyleImage;
3887     DOMString listStylePosition;
3888     DOMString listStyleType;
3889     DOMString margin;
3890     DOMString marginTop;
3891     DOMString marginRight;
3892     DOMString marginBottom;
3893     DOMString marginLeft;
3894     DOMString markerOffset;
3895     DOMString marks;
3896     DOMString maxHeight;
3897     DOMString maxWidth;
3898     DOMString minHeight;
3899     DOMString minWidth;
3900     DOMString orphans;
3901     DOMString outline;
3902     DOMString outlineColor;
3903     DOMString outlineStyle;
3904     DOMString outlineWidth;
3905     DOMString overflow;
3906     DOMString padding;
3907     DOMString paddingTop;
3908     DOMString paddingRight;
3909     DOMString paddingBottom;
3910     DOMString paddingLeft;
3911     DOMString page;
3912     DOMString pageBreakAfter;
3913     DOMString pageBreakBefore;
3914     DOMString pageBreakInside;
3915     DOMString pause;
3916     DOMString pauseAfter;
3917     DOMString pauseBefore;
3918     DOMString pitch;
3919     DOMString pitchRange;
3920     DOMString playDuring;
3921     DOMString position;
3922     DOMString quotes;
3923     DOMString richness;
3924     DOMString right;
3925     DOMString size;
3926     DOMString speak;
3927     DOMString speakHeader;
3928     DOMString speakNumeral;
3929     DOMString speakPunctuation;
3930     DOMString speechRate;
3931     DOMString stress;
3932     DOMString tableLayout;
3933     DOMString textAlign;
3934     DOMString textDecoration;
3935     DOMString textIndent;
3936     DOMString textShadow;
3937     DOMString textTransform;
3938     DOMString top;
3939     DOMString unicodeBidi;
3940     DOMString verticalAlign;
3941     DOMString visibility;
3942     DOMString voiceFamily;
3943     DOMString volume;
3944     DOMString whiteSpace;
3945     DOMString widows;
3946     DOMString width;
3947     DOMString wordSpacing;
3948     DOMString zIndex;
3951 };
3960 /*#########################################################################
3961 ## ViewCSS
3962 #########################################################################*/
3964 /**
3965  * again, a mismatch with views::View and views::AbstractView
3966  */
3967 class ViewCSS : virtual public views::View
3969 public:
3971     /**
3972      *
3973      */
3974     virtual CSSStyleDeclaration getComputedStyle(const Element &/*elt*/,
3975                                                  const DOMString &/*pseudoElt*/)
3976         {
3977         CSSStyleDeclaration style;
3978         return style;
3979         }
3981     //##################
3982     //# Non-API methods
3983     //##################
3985     /**
3986      *
3987      */
3988     ViewCSS() : views::View()
3989        {
3990        }
3992     /**
3993      *
3994      */
3995     ViewCSS(const ViewCSS &other) : views::View(other)
3996        {
3997        }
3999     /**
4000      *
4001      */
4002     virtual ~ViewCSS() {}
4003 };
4009 /*#########################################################################
4010 ## DocumentCSS
4011 #########################################################################*/
4013 /**
4014  *
4015  */
4016 class DocumentCSS : virtual public stylesheets::DocumentStyle
4018 public:
4020     /**
4021      *
4022      */
4023     virtual CSSStyleDeclaration getOverrideStyle(const Element */*elt*/,
4024                                                  const DOMString &/*pseudoElt*/)
4025         {
4026         CSSStyleDeclaration style;
4027         return style;
4028         }
4030     //##################
4031     //# Non-API methods
4032     //##################
4034     /**
4035      *
4036      */
4037     DocumentCSS() : stylesheets::DocumentStyle()
4038         {
4039         }
4041     /**
4042      *
4043      */
4044     DocumentCSS(const DocumentCSS &other) : stylesheets::DocumentStyle(other)
4045        {
4046        }
4048     /**
4049      *
4050      */
4051     virtual ~DocumentCSS() {}
4052 };
4059 /*#########################################################################
4060 ## DOMImplementationCSS
4061 #########################################################################*/
4063 /**
4064  *
4065  */
4066 class DOMImplementationCSS : virtual public DOMImplementation
4068 public:
4070     /**
4071      *
4072      */
4073     virtual CSSStyleSheet createCSSStyleSheet(const DOMString &/*title*/,
4074                                               const DOMString &/*media*/)
4075                                                throw (dom::DOMException)
4076         {
4077         CSSStyleSheet sheet;
4078         return sheet;
4079         }
4081     //##################
4082     //# Non-API methods
4083     //##################
4085     /**
4086      *
4087      */
4088     DOMImplementationCSS() {}
4090     /**
4091      *
4092      */
4093     DOMImplementationCSS(const DOMImplementationCSS &other)
4094                          : DOMImplementation(other)
4095        {
4096        }
4098     /**
4099      *
4100      */
4101     virtual ~DOMImplementationCSS() {}
4102 };
4111 }  //namespace css
4112 }  //namespace dom
4113 }  //namespace org
4114 }  //namespace w3c
4117 #endif // __CSS_H__
4119 /*#########################################################################
4120 ## E N D    O F    F I L E
4121 #########################################################################*/