blob: 1c3a33946d7d4fd0b6d735177b49e8809764be80 [file] [log] [blame]
Some random notes explaining design choices, in case we forget why we did things
a certain way :)
- Naming/tags
The reason KDOM::Element does not have a name data member is to be more flexible
for deriving classes and take minimal space. If we take the example of a
SVGRectElement, we know the tagName() will always be "rect", so we do not need
a name data member per SVGRectElement. In short, it is up to the deriving classes
to come up with the tagName implementation. In case it is known beforehand that
a tag is not "fixed" (for instance for xml elements), a NamedElement can be used.
Right now Document::createElement() will create NamedElement objects, whereas other
Documents may choose to create elements derived from KDOM::Element (this is what SVGDocument
does).
- getValueProperty/putValueProperty return values
Don't use "return Undefined()" because that will trigger a confussing debug message
in DOMBridge, instead use "return Value()", it doesn't matter doing this in call()
because it's usually legal to return an undefined value, but ... just don't do it :)
WARNING: rootElement not found in... Name: KSVG::SVGDocument Object: 0x3e0013f0 on line : 3
It cost me quite some time, to find out that the getValueProperty() call actually worked :)