home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2005 October
/
Gamestar_77_2005-10_dvd.iso
/
Programy
/
nsb-install-8-0.exe
/
chrome
/
toolkit.jar
/
content
/
mozapps
/
shared
/
richview.xml
Wrap
Extensible Markup Language
|
2005-07-29
|
5KB
|
170 lines
<?xml version="1.0"?>
<bindings id="richViewBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:xbl="http://www.mozilla.org/xbl">
<binding id="richview-item">
<implementation>
<method name="fireEvent">
<parameter name="aEventType"/>
<body>
<![CDATA[
var e = document.createEvent("Events");
e.initEvent(this.eventPrefix + aEventType, false, true);
this.dispatchEvent(e);
]]>
</body>
</method>
<property name="disabled" onget="return this.getAttribute('disabled') == 'true'"
onset="this.setAttribute('disabled', val); return val;"/>
</implementation>
</binding>
<binding id="richview">
<implementation>
<method name="fireEvent">
<parameter name="aEventType"/>
<body>
<![CDATA[
var e = document.createEvent("Events");
var eventType = "richview-" + aEventType;
e.initEvent(eventType, false, true);
this.dispatchEvent(e);
var handler = this.getAttribute("onrichview-" + aEventType);
if (handler != "") {
var fn = new Function("event", handler);
fn(e);
}
document.commandDispatcher.updateCommands(eventType);
]]>
</body>
</method>
<field name="_selected">null</field>
<property name="selected">
<setter>
<![CDATA[
if (this._selected)
this._selected.removeAttribute("selected");
this._selected = val;
if (this._selected)
this._selected.setAttribute("selected", "true");
this.fireEvent("select");
]]>
</setter>
<getter>
<![CDATA[
return this._selected;
]]>
</getter>
</property>
<method name="selectForwardInternal">
<parameter name="aElement"/>
<body>
<![CDATA[
for (var temp = aElement; temp; temp = temp.nextSibling) {
if ("fireEvent" in temp) {
this.selected = temp;
break;
}
}
]]>
</body>
</method>
<method name="selectBackwardInternal">
<parameter name="aElement"/>
<body>
<![CDATA[
for (var temp = aElement; temp; temp = temp.previousSibling) {
if ("fireEvent" in temp) {
this.selected = temp;
break;
}
}
]]>
</body>
</method>
<method name="selectionForward">
<parameter name="aEvent"/>
<body>
<![CDATA[
if (this.selected)
this.selectForwardInternal(this.selected.nextSibling);
else {
if (this.hasChildNodes())
this.selectForwardInternal(this.firstChild);
}
]]>
</body>
</method>
<method name="selectionBackward">
<parameter name="aEvent"/>
<body>
<![CDATA[
if (this.selected)
this.selectBackwardInternal(this.selected.previousSibling);
else {
if (this.hasChildNodes())
this.selectBackwardInternal(this.lastChild);
}
]]>
</body>
</method>
<property name="children">
<getter>
<![CDATA[
var childNodes = [];
for (var i = 0; i < this.childNodes.length; ++i) {
if ("fireEvent" in this.childNodes[i])
childNodes.push(this.childNodes[i]);
}
return childNodes;
]]>
</getter>
</property>
</implementation>
<handlers>
<handler event="click">
<![CDATA[
if (event.ctrlKey) {
this.selected = null;
return;
}
if (event.target == this)
this.selected = null
else
this.selected = event.target;
]]>
</handler>
<handler event="dblclick" action="if (this.selected && event.button == 0) this.selected.fireEvent('open');"/>
<handler event="keypress" keycode="vk_enter" action="if (this.selected) this.selected.fireEvent('open');"/>
<handler event="keypress" keycode="vk_return" action="if (this.selected) this.selected.fireEvent('open');"/>
<handler event="keypress" keycode="vk_up" action="this.selectionBackward(event);"/>
<handler event="keypress" keycode="vk_left" action="this.selectionBackward(event);"/>
<handler event="keypress" keycode="vk_down" action="this.selectionForward(event);"/>
<handler event="keypress" keycode="vk_right" action="this.selectionForward(event);"/>
<handler event="keypress" keycode="vk_up" modifiers="meta" action="this.selected = null"/>
<handler event="keypress" keycode="vk_down" modifiers="meta" action="this.selected = null"/>
<handler event="keypress" keycode="vk_left" modifiers="meta" action="this.selected = null"/>
<handler event="keypress" keycode="vk_right" modifiers="meta" action="this.selected = null"/>
<handler event="keypress" keycode="vk_delete" action="if (this.selected) this.selected.fireEvent('remove');"/>
</handlers>
</binding>
</bindings>