[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdenonbeta
From: Rob Buis <rwlbuis () xs4all ! nl>
Date: 2005-11-16 22:22:37
Message-ID: 1132179757.753759.27376.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 480882 by buis:
Handle event attrs like onclick at the kdom level, as before.
M +40 -7 kdom/core/ElementImpl.cpp
M +25 -10 ksvg2/svg/SVGElementImpl.cpp
--- trunk/kdenonbeta/kdom/core/ElementImpl.cpp #480881:480882
@@ -438,11 +438,47 @@
}
#endif
}
-#if 0
+
+static KDOM::QualifiedName onfocusinAttr(KDOM::nullAtom, "onfocusin", KDOM::nullAtom);
+static KDOM::QualifiedName onfocusoutAttr(KDOM::nullAtom, "onfocusout", KDOM::nullAtom);
+static KDOM::QualifiedName onactivateAttr(KDOM::nullAtom, "onactivate", KDOM::nullAtom);
+static KDOM::QualifiedName onclickAttr(KDOM::nullAtom, "onclick", KDOM::nullAtom);
+static KDOM::QualifiedName onmousedownAttr(KDOM::nullAtom, "onmousedown", KDOM::nullAtom);
+static KDOM::QualifiedName onmousemoveAttr(KDOM::nullAtom, "onmousemove", KDOM::nullAtom);
+static KDOM::QualifiedName onmouseoutAttr(KDOM::nullAtom, "onmouseout", KDOM::nullAtom);
+static KDOM::QualifiedName onmouseoverAttr(KDOM::nullAtom, "onmouseover", KDOM::nullAtom);
+static KDOM::QualifiedName onmouseupAttr(KDOM::nullAtom, "onmouseup", KDOM::nullAtom);
+static KDOM::QualifiedName onkeydownAttr(KDOM::nullAtom, "onkeydown", KDOM::nullAtom);
+static KDOM::QualifiedName onkeyupAttr(KDOM::nullAtom, "onkeyup", KDOM::nullAtom);
+
void ElementImpl::parseAttribute(AttributeImpl *attr)
{
- int id = (attr->id() & NodeImpl_IdLocalMask);
- DOMString value(attr->value());
+ const KDOM::AtomicString& value = attr->value();
+ const KDOM::QualifiedName& name = attr->name();
+ Ecma *ecmaEngine = (ownerDocument() ? ownerDocument()->ecmaEngine() : 0);
+ if (name == onfocusinAttr)
+ addDOMEventListener(ecmaEngine, DOMString("focusin").impl(), value.impl());
+ else if (name == onfocusoutAttr)
+ addDOMEventListener(ecmaEngine, DOMString("focusout").impl(), value.impl());
+ else if (name == onactivateAttr)
+ addDOMEventListener(ecmaEngine, DOMString("activate").impl(), value.impl());
+ else if (name == onclickAttr)
+ addDOMEventListener(ecmaEngine, DOMString("click").impl(), value.impl());
+ else if (name == onmousedownAttr)
+ addDOMEventListener(ecmaEngine, DOMString("mousedown").impl(), value.impl());
+ else if (name == onmousemoveAttr)
+ addDOMEventListener(ecmaEngine, DOMString("mousemove").impl(), value.impl());
+ else if (name == onmouseoutAttr)
+ addDOMEventListener(ecmaEngine, DOMString("mouseout").impl(), value.impl());
+ else if (name == onmouseoverAttr)
+ addDOMEventListener(ecmaEngine, DOMString("mouseover").impl(), value.impl());
+ else if (name == onmouseupAttr)
+ addDOMEventListener(ecmaEngine, DOMString("mouseup").impl(), value.impl());
+ else if (name == onkeydownAttr)
+ addDOMEventListener(ecmaEngine, DOMString("keydown").impl(), value.impl());
+ else if (name == onkeyupAttr)
+ addDOMEventListener(ecmaEngine, DOMString("keyup").impl(), value.impl());
+#if 0
switch(id)
{
case ATTR_ID:
@@ -470,13 +506,10 @@
default:
break;
}
-}
#endif
-
-void ElementImpl::parseAttribute(AttributeImpl *attr)
-{
}
+
CSSStyleDeclarationImpl *ElementImpl::styleRules() const
{
if(!m_styleDeclarations)
--- trunk/kdenonbeta/ksvg2/svg/SVGElementImpl.cpp #480881:480882
@@ -126,8 +126,13 @@
return defaultVal;
}
-static KDOM::QualifiedName loadAttr(KDOM::nullAtom, "onload", KDOM::nullAtom);
-static KDOM::QualifiedName clickAttr(KDOM::nullAtom, "onclick", KDOM::nullAtom);
+static KDOM::QualifiedName onloadAttr(KDOM::nullAtom, "onload", KDOM::nullAtom);
+static KDOM::QualifiedName onunloadAttr(KDOM::nullAtom, "onunload", KDOM::nullAtom);
+static KDOM::QualifiedName onabortAttr(KDOM::nullAtom, "onabort", KDOM::nullAtom);
+static KDOM::QualifiedName onerrorAttr(KDOM::nullAtom, "onerror", KDOM::nullAtom);
+static KDOM::QualifiedName onresizeAttr(KDOM::nullAtom, "onresize", KDOM::nullAtom);
+static KDOM::QualifiedName onscrollAttr(KDOM::nullAtom, "onscroll", KDOM::nullAtom);
+static KDOM::QualifiedName onzoomAttr(KDOM::nullAtom, "onzoom", KDOM::nullAtom);
void SVGElementImpl::parseAttribute(KDOM::AttributeImpl *attr)
{
@@ -135,14 +140,24 @@
if(!doc)
return;
- if (attr->name() == /*SVGNames::*/loadAttr)
- {
- addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("load").impl(), attr->value().impl());
- }
- else if (attr->name() == /*SVGNames::*/clickAttr)
- {
- addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("click").impl(), attr->value().impl());
- }
+ const KDOM::AtomicString& value = attr->value();
+ const KDOM::QualifiedName& name = attr->name();
+ if (name == /*SVGNames::*/onloadAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("load").impl(), value.impl());
+ else if (name == /*SVGNames::*/onunloadAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("unload").impl(), value.impl());
+ else if (name == /*SVGNames::*/onabortAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("abort").impl(), value.impl());
+ else if (name == /*SVGNames::*/onerrorAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("error").impl(), value.impl());
+ else if (name == /*SVGNames::*/onresizeAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("resize").impl(), value.impl());
+ else if (name == /*SVGNames::*/onscrollAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("scroll").impl(), value.impl());
+ else if (name == /*SVGNames::*/onzoomAttr)
+ addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("zoom").impl(), value.impl());
+ //else if (name == /*SVGNames::*/onclickAttr)
+ // addSVGEventListener(doc->ecmaEngine(), KDOM::DOMString("click").impl(), value.impl());
else
KDOM::ElementImpl::parseAttribute(attr);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic