initial checkin
[org.ibex.widgets.git] / src / org / ibex / theme / win2k / scrollbar.t
1 <!-- Copyleft 2004 - see COPYING for details [LGPL] -->
2
3 <ibex xmlns:lib="ibex.lib" xmlns="org.ibex.theme.win2k">
4     <meta:doc>
5         Author: Charles Goodwin
6     </meta:doc>
7
8     <lib:scrollbar amount="20">
9
10         var mousepos;
11         var movefunc = function(v) { mousepos = $track.mouse[pos]; }
12
13         th_back = $back;
14         th_next = $next;
15         th_thumb = $thumb;
16         th_track = $track;
17
18         orient ++= function(v) {
19             cascade = v;
20             thisbox[shr] = false;
21             thisbox[flip(shr)] = true;
22
23             if (rows) {
24                 $backimg.fill = .image.arrowleft;
25                 $nextimg.fill = .image.arrowright;
26             }
27             else {
28                 $backimg.fill = .image.arrowup;
29                 $nextimg.fill = .image.arrowdown;
30             }
31         }
32
33         page ++= function() {
34             if (slave) return 0.9 * (slave[dim]);
35             else return 0;
36         }
37
38 /* FIXME: fix erratic showing of $shadow
39         $track.action ++= function(v) {
40             if ($thumb[pos] > mousepos) {
41                 $shadow[dim] = $thumb[pos];
42                 $shadow[pos] = 0;
43             }
44             else {
45                 $shadow[dim] = $track[dim] - $thumb[dim] - $thumb[pos];
46                 $shadow[pos] = $thumb[dim] + $thumb[pos];
47             }
48         }
49
50         $track.repeat ++= function(v) {
51             if (v) Move ++= movefunc;
52             else Move --= movefunc;
53             cascade = v;
54             $shadow.visible = v;
55         }
56 */
57         $track.Press1 ++= function(v) { if ($thumb.mouse.inside) return true; }
58  
59         <button id="back" fill="#d0d4c8" width="16" height="16" repeats="true" shrink="true">
60             .clickable(thisbox);
61             <ui:box id="backimg" shrink="true" />
62         </button>
63         <clickable id="track" enabled="true" fill=".image.scrollbg" repeats="true">
64             <ui:box id="shadow" align="topleft" fill="#888888" packed="false" visible="false" />
65             <bevel id="thumb" align="topleft" fill="#d0d4c8" form="up" packed="false" />
66         </clickable>
67         <button id="next" fill="#d0d4c8" width="16" height="16" repeats="true" shrink="true">
68             .clickable(thisbox);
69             <ui:box id="nextimg" shrink="true" />
70         </button>
71     </lib:scrollbar>
72 </ibex>