2002-10-14 03:12:54 +04:00
|
|
|
<?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>
|
|
|
|
|
2004-07-24 08:23:04 +04:00
|
|
|
<binding id="progressmeter-undetermined"
|
|
|
|
extends="chrome://global/content/bindings/progressmeter.xml#progressmeter">
|
|
|
|
<content>
|
2004-07-28 01:51:58 +04:00
|
|
|
<xul:stack style="overflow: -moz-hidden-unscrollable;" class="progress-remainder" flex="1" anonid="stack">
|
2004-07-24 08:23:04 +04:00
|
|
|
<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 = 125;
|
|
|
|
var interval = setInterval(function nextStep() {
|
|
|
|
try {
|
|
|
|
spacer.height = stack.boxObject.height;
|
|
|
|
spacer.width = stack.boxObject.width * 25 / 100;
|
|
|
|
spacer.left = stack.boxObject.width * (100 - position) / 100;
|
|
|
|
if (!--position)
|
|
|
|
position = 125;
|
|
|
|
} catch (e) {
|
|
|
|
clearInterval(interval);
|
|
|
|
}
|
|
|
|
}, 10);
|
|
|
|
]]></body>
|
|
|
|
</method>
|
|
|
|
|
|
|
|
<constructor>this.init();</constructor>
|
|
|
|
</implementation>
|
|
|
|
</binding>
|
|
|
|
|
2002-10-14 03:12:54 +04:00
|
|
|
</bindings>
|