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
/
global
/
bindings
/
progressmeter.xml
< prev
next >
Wrap
Extensible Markup Language
|
2005-07-29
|
3KB
|
86 lines
<?xml version="1.0"?>
<bindings id="progressmeterBindings"
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="progressmeter">
<resources>
<stylesheet src="chrome://global/skin/progressmeter.css"/>
</resources>
<content>
<xul:spacer class="progress-bar" xbl:inherits="mode"/>
<xul:spacer class="progress-remainder" xbl:inherits="mode"/>
</content>
<implementation implements="nsIAccessibleProvider">
<property name="label" onset="if (this.label != val) this.setAttribute('label',val); return val;"
onget="return this.getAttribute('label');"/>
<property name="mode" onset="if (this.mode != val) this.setAttribute('mode', val); return val;"
onget="return this.getAttribute('mode');"/>
<property name="value" onget="return this.getAttribute('value');">
<setter><![CDATA[
var p = Math.round(val);
var c = this.value;
if (p != c) {
var delta = p - c;
if (delta < 0)
delta = -delta;
if (delta > 3 || p == 0 || p == 100)
this.setAttribute("value", p);
}
return p;
]]></setter>
</property>
<property name="accessible">
<getter>
<![CDATA[
var accService = Components.classes["@mozilla.org/accessibilityService;1"].getService(Components.interfaces.nsIAccessibilityService);
return accService.createXULProgressMeterAccessible(this);
]]>
</getter>
</property>
</implementation>
</binding>
<binding id="progressmeter-undetermined"
extends="chrome://global/content/bindings/progressmeter.xml#progressmeter">
<content>
<xul:stack class="progress-remainder" flex="1" anonid="stack" style="overflow: -moz-hidden-unscrollable;">
<xul:spacer class="progress-bar" anonid="spacer" top="0" style="margin-right: -1000px;"/>
</xul:stack>
</content>
<implementation>
<method name="init">
<body><![CDATA[
var stack = document.getAnonymousElementByAttribute(this, "anonid", "stack");
var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer");
var position = -1;
var interval = setInterval(function nextStep() {
try {
spacer.height = stack.boxObject.height;
spacer.width = stack.boxObject.width >> 2;
spacer.left = spacer.width * position;
position += 30 / (stack.boxObject.width + 600);
if (position >= 4)
position = -1;
} catch (e) {
clearInterval(interval);
}
}, 10);
]]></body>
</method>
<constructor>this.init();</constructor>
</implementation>
</binding>
</bindings>