rsence-pre 2.1.0.1.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. data/.yardopts +10 -0
  2. data/INSTALL.rdoc +330 -0
  3. data/LICENSE.txt +622 -0
  4. data/README.rdoc +98 -0
  5. data/VERSION +1 -0
  6. data/bin/rsence +25 -0
  7. data/bin/rsence-pre +25 -0
  8. data/conf/default_conf.yaml +346 -0
  9. data/conf/default_strings.yaml +76 -0
  10. data/conf/rsence_command_strings.yaml +444 -0
  11. data/docs/ExampleGuiPlugin.rdoc +193 -0
  12. data/docs/JavascriptBundles.rdoc +0 -0
  13. data/docs/PluginBundleInfo.rdoc +173 -0
  14. data/docs/PluginBundles.rdoc +96 -0
  15. data/docs/Values.rdoc +163 -0
  16. data/js/comm/autosync/autosync.js +17 -0
  17. data/js/comm/autosync/js.inc +0 -0
  18. data/js/comm/comm.js +203 -0
  19. data/js/comm/js.inc +0 -0
  20. data/js/comm/jsloader/js.inc +0 -0
  21. data/js/comm/jsloader/jsloader.js +112 -0
  22. data/js/comm/queue/js.inc +0 -0
  23. data/js/comm/queue/queue.js +184 -0
  24. data/js/comm/session/js.inc +0 -0
  25. data/js/comm/session/session.js +52 -0
  26. data/js/comm/sessionwatcher/js.inc +0 -0
  27. data/js/comm/sessionwatcher/sessionwatcher.js +44 -0
  28. data/js/comm/transporter/js.inc +0 -0
  29. data/js/comm/transporter/transporter.js +261 -0
  30. data/js/comm/urlresponder/js.inc +0 -0
  31. data/js/comm/urlresponder/urlresponder.js +149 -0
  32. data/js/comm/values/js.inc +0 -0
  33. data/js/comm/values/values.js +433 -0
  34. data/js/controls/button/button.js +72 -0
  35. data/js/controls/button/js.inc +0 -0
  36. data/js/controls/button/themes/bright/button.css +89 -0
  37. data/js/controls/button/themes/bright/button.html +7 -0
  38. data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
  39. data/js/controls/button/themes/bright/button_parts1.png +0 -0
  40. data/js/controls/button/themes/default/button.css +89 -0
  41. data/js/controls/button/themes/default/button.html +7 -0
  42. data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
  43. data/js/controls/button/themes/default/button_parts1.png +0 -0
  44. data/js/controls/checkbox/checkbox.js +49 -0
  45. data/js/controls/checkbox/js.inc +0 -0
  46. data/js/controls/checkbox/themes/default/checkbox.css +69 -0
  47. data/js/controls/checkbox/themes/default/checkbox.html +5 -0
  48. data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
  49. data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
  50. data/js/controls/dialogs/alert_sheet/alert_sheet.js +63 -0
  51. data/js/controls/dialogs/alert_sheet/js.inc +0 -0
  52. data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +37 -0
  53. data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
  54. data/js/controls/dialogs/sheet/js.inc +0 -0
  55. data/js/controls/dialogs/sheet/sheet.js +84 -0
  56. data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
  57. data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
  58. data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
  59. data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
  60. data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
  61. data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
  62. data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
  63. data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
  64. data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
  65. data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
  66. data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
  67. data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
  68. data/js/controls/imageview/imageview.js +109 -0
  69. data/js/controls/imageview/js.inc +0 -0
  70. data/js/controls/imageview/themes/default/blank.gif +0 -0
  71. data/js/controls/passwordcontrol/js.inc +0 -0
  72. data/js/controls/passwordcontrol/passwordcontrol.js +23 -0
  73. data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
  74. data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
  75. data/js/controls/progress/progressbar/js.inc +0 -0
  76. data/js/controls/progress/progressbar/progressbar.js +40 -0
  77. data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
  78. data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
  79. data/js/controls/progress/progressindicator/js.inc +0 -0
  80. data/js/controls/progress/progressindicator/progressindicator.js +44 -0
  81. data/js/controls/radiobutton/js.inc +0 -0
  82. data/js/controls/radiobutton/radiobutton.js +43 -0
  83. data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
  84. data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
  85. data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
  86. data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
  87. data/js/controls/sliders/slider/js.inc +0 -0
  88. data/js/controls/sliders/slider/slider.js +357 -0
  89. data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
  90. data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
  91. data/js/controls/sliders/slider/themes/default/slider.css +108 -0
  92. data/js/controls/sliders/slider/themes/default/slider.html +5 -0
  93. data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
  94. data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
  95. data/js/controls/sliders/vslider/js.inc +0 -0
  96. data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
  97. data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
  98. data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
  99. data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
  100. data/js/controls/sliders/vslider/vslider.js +41 -0
  101. data/js/controls/stepper/js.inc +0 -0
  102. data/js/controls/stepper/stepper.js +213 -0
  103. data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
  104. data/js/controls/stepper/themes/default/stepper.css +14 -0
  105. data/js/controls/stepper/themes/default/stepper.html +2 -0
  106. data/js/controls/stepper/themes/default/stepper.png +0 -0
  107. data/js/controls/stringview/js.inc +0 -0
  108. data/js/controls/stringview/stringview.js +49 -0
  109. data/js/controls/stringview/themes/default/stringview.css +8 -0
  110. data/js/controls/stringview/themes/default/stringview.html +1 -0
  111. data/js/controls/tab/js.inc +0 -0
  112. data/js/controls/tab/tab.js +280 -0
  113. data/js/controls/tab/themes/bright/tab.css +76 -0
  114. data/js/controls/tab/themes/bright/tab.html +6 -0
  115. data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
  116. data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
  117. data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
  118. data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
  119. data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
  120. data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
  121. data/js/controls/tab/themes/default/tab.css +77 -0
  122. data/js/controls/tab/themes/default/tab.html +6 -0
  123. data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
  124. data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
  125. data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
  126. data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
  127. data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
  128. data/js/controls/tab/themes/default/tab_parts1.png +0 -0
  129. data/js/controls/textarea/js.inc +0 -0
  130. data/js/controls/textarea/textarea.js +24 -0
  131. data/js/controls/textarea/themes/default/textarea.css +21 -0
  132. data/js/controls/textarea/themes/default/textarea.html +18 -0
  133. data/js/controls/textcontrol/js.inc +0 -0
  134. data/js/controls/textcontrol/textcontrol.js +374 -0
  135. data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
  136. data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
  137. data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
  138. data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
  139. data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
  140. data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
  141. data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
  142. data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
  143. data/js/controls/uploader/js.inc +0 -0
  144. data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
  145. data/js/controls/uploader/themes/default/uploader.css +108 -0
  146. data/js/controls/uploader/themes/default/uploader.html +27 -0
  147. data/js/controls/uploader/uploader.js +154 -0
  148. data/js/controls/validatorview/js.inc +0 -0
  149. data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
  150. data/js/controls/validatorview/themes/default/validator.png +0 -0
  151. data/js/controls/validatorview/themes/default/validatorview.css +0 -0
  152. data/js/controls/validatorview/themes/default/validatorview.html +0 -0
  153. data/js/controls/validatorview/validatorview.js +62 -0
  154. data/js/controls/window/js.inc +0 -0
  155. data/js/controls/window/themes/default/window.css +219 -0
  156. data/js/controls/window/themes/default/window.html +17 -0
  157. data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
  158. data/js/controls/window/themes/default/window_bg_active.png +0 -0
  159. data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
  160. data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
  161. data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
  162. data/js/controls/window/themes/default/window_buttons.png +0 -0
  163. data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
  164. data/js/controls/window/themes/default/window_parts1.png +0 -0
  165. data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
  166. data/js/controls/window/themes/default/window_parts2.png +0 -0
  167. data/js/controls/window/window.js +286 -0
  168. data/js/core/class/class.js +318 -0
  169. data/js/core/class/js.inc +0 -0
  170. data/js/core/elem/elem.js +1383 -0
  171. data/js/core/elem/js.inc +0 -0
  172. data/js/core/event/event.js +153 -0
  173. data/js/core/event/js.inc +0 -0
  174. data/js/core/iefix/ie_css_element.htc +5 -0
  175. data/js/core/iefix/ie_css_style.htc +5 -0
  176. data/js/core/iefix/iefix.js +359 -0
  177. data/js/core/iefix/js.inc +0 -0
  178. data/js/core/rsence_ns/js.inc +0 -0
  179. data/js/core/rsence_ns/rsence_ns.js +21 -0
  180. data/js/datetime/calendar/calendar.js +198 -0
  181. data/js/datetime/calendar/js.inc +0 -0
  182. data/js/datetime/calendar/themes/default/calendar.css +108 -0
  183. data/js/datetime/calendar/themes/default/calendar.html +9 -0
  184. data/js/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
  185. data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  186. data/js/datetime/datetimevalue/datetimevalue.js +247 -0
  187. data/js/datetime/datetimevalue/js.inc +0 -0
  188. data/js/datetime/timesheet/js.inc +0 -0
  189. data/js/datetime/timesheet/themes/default/timesheet.css +30 -0
  190. data/js/datetime/timesheet/themes/default/timesheet.html +2 -0
  191. data/js/datetime/timesheet/timesheet.js +183 -0
  192. data/js/datetime/timesheet_item/js.inc +0 -0
  193. data/js/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
  194. data/js/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
  195. data/js/datetime/timesheet_item/timesheet_item.js +248 -0
  196. data/js/datetime/timesheet_item_edit/js.inc +0 -0
  197. data/js/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
  198. data/js/foundation/application/application.js +208 -0
  199. data/js/foundation/application/js.inc +0 -0
  200. data/js/foundation/control/control.js +339 -0
  201. data/js/foundation/control/controldefaults/controldefaults.js +56 -0
  202. data/js/foundation/control/controldefaults/js.inc +0 -0
  203. data/js/foundation/control/dummyvalue/dummyvalue.js +51 -0
  204. data/js/foundation/control/dummyvalue/js.inc +0 -0
  205. data/js/foundation/control/dyncontrol/dyncontrol.js +500 -0
  206. data/js/foundation/control/dyncontrol/js.inc +0 -0
  207. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
  208. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
  209. data/js/foundation/control/eventresponder/eventresponder.js +750 -0
  210. data/js/foundation/control/eventresponder/js.inc +0 -0
  211. data/js/foundation/control/js.inc +0 -0
  212. data/js/foundation/control/valuematrix/js.inc +0 -0
  213. data/js/foundation/control/valuematrix/valuematrix.js +135 -0
  214. data/js/foundation/control/valueresponder/js.inc +0 -0
  215. data/js/foundation/control/valueresponder/valueresponder.js +79 -0
  216. data/js/foundation/eventmanager/eventmanager.js +991 -0
  217. data/js/foundation/eventmanager/js.inc +0 -0
  218. data/js/foundation/geom/point/js.inc +0 -0
  219. data/js/foundation/geom/point/point.js +202 -0
  220. data/js/foundation/geom/rect/js.inc +0 -0
  221. data/js/foundation/geom/rect/rect.js +651 -0
  222. data/js/foundation/json_renderer/js.inc +0 -0
  223. data/js/foundation/json_renderer/json_renderer.js +246 -0
  224. data/js/foundation/system/js.inc +0 -0
  225. data/js/foundation/system/system.js +381 -0
  226. data/js/foundation/thememanager/js.inc +0 -0
  227. data/js/foundation/thememanager/thememanager.js +393 -0
  228. data/js/foundation/value/js.inc +0 -0
  229. data/js/foundation/value/value.js +183 -0
  230. data/js/foundation/view/js.inc +0 -0
  231. data/js/foundation/view/markupview/js.inc +0 -0
  232. data/js/foundation/view/markupview/markupview.js +114 -0
  233. data/js/foundation/view/morphanimation/js.inc +0 -0
  234. data/js/foundation/view/morphanimation/morphanimation.js +237 -0
  235. data/js/foundation/view/view.js +1812 -0
  236. data/js/foundation/view/viewdefaults/js.inc +0 -0
  237. data/js/foundation/view/viewdefaults/viewdefaults.js +26 -0
  238. data/js/lists/checkboxlist/checkboxlist.js +171 -0
  239. data/js/lists/checkboxlist/js.inc +0 -0
  240. data/js/lists/listitems/js.inc +0 -0
  241. data/js/lists/listitems/listitems.js +88 -0
  242. data/js/lists/propertylist/js.inc +0 -0
  243. data/js/lists/propertylist/propertylist.js +326 -0
  244. data/js/lists/radiobuttonlist/js.inc +0 -0
  245. data/js/lists/radiobuttonlist/radiobuttonlist.js +116 -0
  246. data/js/util/reloadapp/js.inc +0 -0
  247. data/js/util/reloadapp/reloadapp.js +152 -0
  248. data/js/util/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
  249. data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
  250. data/js/util/sha/js.inc +0 -0
  251. data/js/util/sha/sha.js +426 -0
  252. data/js/views/centerview/centerview.js +75 -0
  253. data/js/views/centerview/js.inc +0 -0
  254. data/js/views/inlineview/inlineview.js +15 -0
  255. data/js/views/inlineview/js.inc +0 -0
  256. data/js/views/scrollview/js.inc +0 -0
  257. data/js/views/scrollview/scrollview.js +40 -0
  258. data/lib/conf/argv.rb +850 -0
  259. data/lib/conf/default.rb +219 -0
  260. data/lib/daemon/daemon.rb +387 -0
  261. data/lib/daemon/sigcomm.rb +64 -0
  262. data/lib/http/broker.rb +150 -0
  263. data/lib/http/rackup.rb +91 -0
  264. data/lib/http/request.rb +66 -0
  265. data/lib/http/response.rb +65 -0
  266. data/lib/plugins/dependencies.rb +285 -0
  267. data/lib/plugins/gui_plugin.rb +160 -0
  268. data/lib/plugins/guiparser.rb +123 -0
  269. data/lib/plugins/plugin.rb +438 -0
  270. data/lib/plugins/plugin_base.rb +162 -0
  271. data/lib/plugins/plugin_plugins.rb +81 -0
  272. data/lib/plugins/plugin_sqlite_db.rb +98 -0
  273. data/lib/plugins/pluginmanager.rb +635 -0
  274. data/lib/plugins/plugins.rb +169 -0
  275. data/lib/plugins/servlet.rb +108 -0
  276. data/lib/rsence.rb +32 -0
  277. data/lib/session/msg.rb +327 -0
  278. data/lib/session/sessionmanager.rb +522 -0
  279. data/lib/session/sessionstorage.rb +340 -0
  280. data/lib/transporter/transporter.rb +263 -0
  281. data/lib/util/gzstring.rb +9 -0
  282. data/lib/util/ruby19_fixes.rb +18 -0
  283. data/lib/values/hvalue.rb +378 -0
  284. data/lib/values/valuemanager.rb +172 -0
  285. data/plugins/client_pkg/client_pkg.rb +157 -0
  286. data/plugins/client_pkg/info.yaml +25 -0
  287. data/plugins/client_pkg/lib/client_pkg_build.rb +561 -0
  288. data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
  289. data/plugins/client_pkg/lib/client_pkg_serve.rb +218 -0
  290. data/plugins/index_html/img/loading.gif +0 -0
  291. data/plugins/index_html/img/riassence.gif +0 -0
  292. data/plugins/index_html/index_html.rb +120 -0
  293. data/plugins/index_html/info.yaml +18 -0
  294. data/plugins/index_html/tmpl/index.html +15 -0
  295. data/plugins/main/info.yaml +18 -0
  296. data/plugins/main/js/main.js +84 -0
  297. data/plugins/main/main.rb +255 -0
  298. data/plugins/main/values.yaml +8 -0
  299. data/plugins/ticket/info.yaml +21 -0
  300. data/plugins/ticket/lib/common.rb +392 -0
  301. data/plugins/ticket/lib/favicon.rb +39 -0
  302. data/plugins/ticket/lib/file.rb +58 -0
  303. data/plugins/ticket/lib/img.rb +50 -0
  304. data/plugins/ticket/lib/objblob.rb +66 -0
  305. data/plugins/ticket/lib/rsrc.rb +34 -0
  306. data/plugins/ticket/lib/upload.rb +236 -0
  307. data/plugins/ticket/ticket.rb +333 -0
  308. data/setup/welcome/gui/welcome.yaml +92 -0
  309. data/setup/welcome/info.yaml +13 -0
  310. data/setup/welcome/text/welcome.html +9 -0
  311. data/setup/welcome/values.yaml +9 -0
  312. data/setup/welcome/welcome.rb +54 -0
  313. metadata +407 -0
@@ -0,0 +1,357 @@
1
+ /* RSence
2
+ * Copyright 2006 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+ /*** = Description
10
+ ** HSlider is a control unit that enables the user to choose a value in a range of values.
11
+ ** Sliders support both dragging the handle and clicking the mouse anywhere on the slider
12
+ ** to move the handle towards the mouse, as well as keyboard support
13
+ ** after the handle is in active mode. There are two types of sliders: vertical and horizontal.
14
+ ** Naturally, sliders are commonly used as colour mixers, volume controls,
15
+ ** graphical equalizers and seekers in media applications.
16
+ ** A typical slider is a drag-able thumb along vertical or horizontal line.
17
+ **
18
+ ** = Instance variables
19
+ ** +minValue+:: The smallest allowed value.
20
+ ** +maxValue+:: The biggest allowed value.
21
+ ** +repeatDelay+:: The key repetition initial delay when changing the slider
22
+ ** with cursor keys. Defaults to 300 (ms)
23
+ ** +repeatInterval+:: The key repetition interval when changing the slider
24
+ ** with cursor keys. Defaults to 50 (ms)
25
+ ** +inveseAxis+:: Inverse Scrollwheel axis.
26
+ ** As there is only one scrollwheel event, sideways
27
+ ** scrolling doesn't work logically for horizonal
28
+ ** scrollbars by default, so set this to true to
29
+ ** have horizonal sliders work logically
30
+ ** with sideways scrolling, where supported.
31
+ ***/
32
+ var//RSence.Controls
33
+ HSlider = HControl.extend({
34
+
35
+ componentName: "slider",
36
+
37
+ defaultEvents: {
38
+ draggable: true,
39
+ keyDown: true,
40
+ keyUp: true,
41
+ mouseWheel: true
42
+ },
43
+
44
+ controlDefaults: (HControlDefaults.extend({
45
+ minValue: 0,
46
+ maxValue: 1,
47
+ repeatDelay: 300,
48
+ repeatInterval: 50,
49
+ inverseAxis: false
50
+ })),
51
+
52
+ refreshOnValueChange: false,
53
+
54
+ _isVertical: false,
55
+
56
+
57
+ /** = Description
58
+ * Sets the current value of the object and moves the slider thumb to the correct position.
59
+ *
60
+ * = Parameters
61
+ * +_value+:: A numeric value to be set to the object.
62
+ *
63
+ **/
64
+ setValue: function(_value) {
65
+ if (_value < this.minValue) {
66
+ _value = this.minValue;
67
+ }
68
+ if (_value > this.maxValue) {
69
+ _value = this.maxValue;
70
+ }
71
+ this.base(_value);
72
+ if(this._thumbElemId){
73
+ this.drawThumbPos();
74
+ }
75
+ return this;
76
+ },
77
+
78
+ /** = Description
79
+ * Draws the rectangle and the markup of this object on the screen.
80
+ *
81
+ **/
82
+ draw: function() {
83
+ if(!this.drawn) {
84
+ this.drawRect();
85
+ this.drawMarkup();
86
+ this._initThumb();
87
+ }
88
+ this.refresh();
89
+ },
90
+
91
+
92
+ /** = Description
93
+ * This gets called automatically when the user starts to drag the slider thumb.
94
+ * Extend this method if you want something special to happen when the dragging starts.
95
+ *
96
+ * = Parameters
97
+ * +_x+:: The X coordinate of the point where the drag started.
98
+ * +_y+:: The Y coordinate of the point where the drag started.
99
+ *
100
+ **/
101
+ startDrag: function(_x,_y){
102
+ var _originalPosition = ELEM.getVisiblePosition(this.elemId, true);
103
+ this._originX = _originalPosition[0];
104
+ this._originY = _originalPosition[1];
105
+
106
+ this.drag(_x,_y);
107
+ },
108
+
109
+
110
+ /** = Description
111
+ * This gets called automatically when the user stops dragging the slider thumb.
112
+ * Extend this method if you want something special to happen when the dragging ends.
113
+ *
114
+ * = Parameters
115
+ * +_x+:: The X coordinate of the point where the drag ended.
116
+ * +_y+:: The Y coordinate of the point where the drag ended.
117
+ *
118
+ **/
119
+ endDrag: function(_x,_y){
120
+ this.drag(_x,_y);
121
+ },
122
+
123
+
124
+ /** = Description
125
+ * This gets called periodically while the user drags the slider thumb.
126
+ * Extend this method if you want something special to happen while dragging.
127
+ *
128
+ * = Parameters
129
+ * +_x+:: The X coordinate of the point where the user is currently dragging.
130
+ * +_y+:: The Y coordinate of the point where the user is currently dragging.
131
+ *
132
+ **/
133
+ drag: function(_x,_y){
134
+ _x -= this._originX;
135
+ _y -= this._originY;
136
+
137
+ var _rawVal = this._isVertical?_y:_x,
138
+ _value = this._pos2value(_rawVal);
139
+
140
+ this.setValue(_value);
141
+ },
142
+
143
+
144
+ /** = Description
145
+ * This gets called when the user presses a key down while this control is
146
+ * active. The default behaviour is to move the thumb with arrow keys, page up,
147
+ * page down, home and end.
148
+ *
149
+ * = Parameters
150
+ * +_keycode+:: The keycode of the key that was pressed down.
151
+ *
152
+ **/
153
+ keyDown: function(_keycode) {
154
+ // Arrow keys move the thumb 5% at a time.
155
+ if ( (_keycode === Event.KEY_LEFT && !this._isVertical) ||
156
+ (_keycode === Event.KEY_DOWN && this._isVertical) ) {
157
+ this._moving = true;
158
+ this._moveThumb(-0.05);
159
+ }
160
+ else if ( (_keycode === Event.KEY_RIGHT && !this._isVertical) ||
161
+ (_keycode === Event.KEY_UP && this._isVertical) ) {
162
+ this._moving = true;
163
+ this._moveThumb(0.05);
164
+ }
165
+ // Home key moves the thumb to the beginning and end key to the end.
166
+ else if (_keycode === Event.KEY_HOME) {
167
+ this.setValue(this.minValue);
168
+ }
169
+ else if (_keycode === Event.KEY_END) {
170
+ this.setValue(this.maxValue);
171
+ }
172
+ // Page up and page down keys move the thumb 25% at a time.
173
+ else if (_keycode === Event.KEY_PAGEDOWN) {
174
+ this._moving = true;
175
+ this._moveThumb(-0.25);
176
+ }
177
+ else if (_keycode === Event.KEY_PAGEUP) {
178
+ this._moving = true;
179
+ this._moveThumb(0.25);
180
+ }
181
+
182
+
183
+ },
184
+
185
+
186
+ /** = Description
187
+ * This gets called when the user releases a key while this control is active.
188
+ *
189
+ * = Parameters
190
+ * +_keycode+:: The keycode of the key that was released.
191
+ *
192
+ **/
193
+ keyUp: function(_keycode) {
194
+ this._moving = false;
195
+ },
196
+
197
+
198
+ /** = Description
199
+ * This gets called when the mouse wheel is used and the component
200
+ * instance has focus.
201
+ *
202
+ * = Parameters
203
+ * +_delta+:: Scrolling delta, the wheel angle change. If delta is positive,
204
+ * wheel was scrolled up. Otherwise, it was scrolled down.
205
+ *
206
+ **/
207
+ mouseWheel: function(_delta) {
208
+ var _valueChange;
209
+ if (_delta > 0) {
210
+ _valueChange = 0.05;
211
+ }
212
+ else {
213
+ _valueChange = -0.05;
214
+ }
215
+ if ( this.options.inverseAxis ) {
216
+ _valueChange = 0 - _valueChange;
217
+ }
218
+
219
+ var _value = (this.maxValue - this.minValue) * _valueChange;
220
+ this.setValue( this.value + _value);
221
+ },
222
+
223
+
224
+ // --private method++
225
+ _moveThumb: function(_valueChange, _rate) {
226
+
227
+ if (!_rate) {
228
+ // --If the key is held down, wait for a while before starting repeat.++
229
+ _rate = this.options.repeatDelay;
230
+ }
231
+ else if (_rate === this.options.repeatDelay) {
232
+ _rate = this.options.repeatInterval;
233
+ }
234
+
235
+ if (this._moving && this.active) {
236
+
237
+ var _value = (this.maxValue - this.minValue) * _valueChange;
238
+
239
+ this.setValue( this.value + _value);
240
+
241
+ var _that = this;
242
+ if (this._thumbMoveTimeout) {
243
+ window.clearTimeout(this._thumbMoveTimeout);
244
+ this._thumbMoveTimeout = null;
245
+ }
246
+ this._thumbMoveTimeout = window.setTimeout(function(){
247
+ _that._moveThumb(_valueChange, _rate);
248
+ }, _rate);
249
+ }
250
+
251
+ },
252
+
253
+ thumbSize: 21,
254
+ // -- private method ++
255
+ _initThumb: function() {
256
+ this._thumbElemId = this.markupElemIds.control;
257
+ this.drawThumbPos();
258
+ },
259
+
260
+
261
+ // -- private method ++
262
+ _value2px: function() {
263
+ var _pxrange;
264
+ if(this._isVertical){
265
+ _pxrange = this.rect.height - this.thumbSize;
266
+ } else {
267
+ _pxrange = this.rect.width - this.thumbSize;
268
+ }
269
+ var _intvalue = _pxrange * (
270
+ (this.value-this.minValue) / (this.maxValue - this.minValue)
271
+ );
272
+ if ( this._isVertical ) {
273
+ _intvalue = _pxrange - _intvalue;
274
+ }
275
+ _pxvalue = parseInt(_intvalue, 10)+'px';
276
+ return _pxvalue;
277
+ },
278
+
279
+
280
+ // -- private method ++
281
+ _pos2value: function(_mousePos) {
282
+ var _pxrange;
283
+ if(this._isVertical){
284
+ _pxrange = this.rect.height - this.thumbSize;
285
+ } else {
286
+ _pxrange = this.rect.width - this.thumbSize;
287
+ }
288
+ _mousePos -= (this.thumbSize/2);
289
+ if(_mousePos < 0){
290
+ _mousePos = 0;
291
+ }
292
+ if(_mousePos > _pxrange){
293
+ _mousePos = _pxrange;
294
+ }
295
+ if(this._isVertical){
296
+ return this.maxValue - ((_mousePos / _pxrange) * (this.maxValue - this.minValue));
297
+ } else {
298
+ return this.minValue + ((_mousePos / _pxrange) * (this.maxValue - this.minValue));
299
+ }
300
+ },
301
+
302
+
303
+ // -- private method ++
304
+ drawThumbPos: function() {
305
+ var _whichprop = this._isVertical?'top':'left',
306
+ _propval = this._value2px();
307
+ ELEM.setStyle(this._thumbElemId,_whichprop,_propval);
308
+ this.setOrientation(this.options['orientation']||this.prevOrientation);
309
+ },
310
+
311
+ prevOrientation: 'c',
312
+
313
+ cssClassPrefix: 'h',
314
+
315
+ /** = Description
316
+ * Changes the thumb graphic. Possible orientations by default are
317
+ * north ('n'), south ('s'), west ('w'), east('e') and center ('c').
318
+ * Defaults to 'c'. No case sensitivity.
319
+ *
320
+ * = Parameters
321
+ * +_orientation+:: The orientation of slider thumb graphic.
322
+ *
323
+ **/
324
+ setOrientation: function(_orientation) {
325
+ if(!_orientation){
326
+ _orientation = 'c';
327
+ }
328
+ _orientation = _orientation.toLowerCase();
329
+ if(_orientation === this.prevOrientation){
330
+ return;
331
+ }
332
+ if(this['markupElemIds']===undefined){
333
+ return;
334
+ }
335
+ if(this.markupElemIds['control']===undefined){
336
+ return;
337
+ }
338
+ var _toggleCSS = this.toggleCSSClass,
339
+ _ctrlId = this.markupElemIds.control,
340
+ _orientations = ['n','s','w','e','c'],
341
+ _iOrientation = '',
342
+ _cssClassName = '',
343
+ _cssClassPrefix = this.cssClassPrefix,
344
+ _cssClassVert = this._isVertical?'v':'',
345
+ _activeOrientation = false,
346
+ i = 0;
347
+ for(;i<5;i++){
348
+ _iOrientation = _orientations[i];
349
+ _activeOrientation = (_orientation===_iOrientation);
350
+ _cssClassName = (_orientation==='c')?_cssClassPrefix+_cssClassVert+'slider_thumb':_cssClassPrefix+'slider_thumb_'+_iOrientation;
351
+ _toggleCSS( _ctrlId, _cssClassName, _activeOrientation );
352
+ }
353
+
354
+ this.prevOrientation = _orientation;
355
+ }
356
+ });
357
+
@@ -0,0 +1,108 @@
1
+ .hslider_track_left,
2
+ .hslider_track_right,
3
+ .hslider_track {
4
+ position: absolute;
5
+ height: 7px; top: 7px;
6
+ font-size: 0px;
7
+ background-image: #{this.getCssFilePath('hslider_tracks.png')};
8
+ }
9
+
10
+ .hslider_track_left {
11
+ left: 10px; width: 4px;
12
+ background-position: 0px 0px;
13
+ }
14
+
15
+ .hslider_track_right {
16
+ right: 10px; width: 4px;
17
+ background-position: -4px 0px;
18
+ }
19
+
20
+ .hslider_track {
21
+ left: 14px; right: 14px;
22
+ background-position: 0px -14px;
23
+ }
24
+
25
+ .disabled .hslider_track_left {
26
+ background-position: 0px -7px;
27
+ }
28
+
29
+ .disabled .hslider_track_right {
30
+ background-position: -4px -7px;
31
+ }
32
+
33
+ .disabled .hslider_track {
34
+ background-position: 0px -21px;
35
+ }
36
+
37
+ .hslider_thumb {
38
+ position: absolute;
39
+ top: 0px; height: 21px; width: 21px;
40
+ font-size: 0px;
41
+ background-position: 0px 0px;
42
+ background-image: #{this.getCssFilePath('slider_thumbs.png')};
43
+ }
44
+
45
+ .hslider_thumb:active {
46
+ background-position: 0px -22px;
47
+ }
48
+
49
+ .disabled .hslider_thumb {
50
+ background-position: 0px -44px;
51
+ }
52
+
53
+ .hslider_thumb_n,
54
+ .hslider_thumb_s,
55
+ .hslider_thumb_e,
56
+ .hslider_thumb_w {
57
+ position: absolute;
58
+ top: 0px; height: 21px; width: 21px;
59
+ background-image: #{this.getCssFilePath('slider_thumbs.png')};
60
+ }
61
+
62
+ .hslider_thumb_e,
63
+ .hslider_thumb_w {
64
+ left: 0px;
65
+ }
66
+
67
+ .hslider_thumb_n {
68
+ background-position: -22px 0px;
69
+ }
70
+ .hslider_thumb_n:active {
71
+ background-position: -22px -22px;
72
+ }
73
+ .disabled .hslider_thumb_n {
74
+ background-position: -22px -44px;
75
+ }
76
+
77
+ .hslider_thumb_s {
78
+ background-position: -44px 0px;
79
+ }
80
+ .hslider_thumb_s:active {
81
+ background-position: -44px -22px;
82
+ }
83
+ .disabled .hslider_thumb_s {
84
+ background-position: -44px -44px;
85
+ }
86
+
87
+ .hslider_thumb_w {
88
+ background-position: -66px 0px;
89
+ }
90
+ .hslider_thumb_w:active {
91
+ background-position: -66px -22px;
92
+ }
93
+ .disabled .hslider_thumb_w {
94
+ background-position: -66px -44px;
95
+ }
96
+
97
+ .hslider_thumb_e {
98
+ background-position: -88px 0px;
99
+ }
100
+ .hslider_thumb_e:active {
101
+ background-position: -88px -22px;
102
+ }
103
+ .disabled .hslider_thumb_e {
104
+ background-position: -88px -44px;
105
+ }
106
+
107
+
108
+
@@ -0,0 +1,5 @@
1
+ <div class="hslider_track_left"></div>
2
+ <div class="hslider_track_right"></div>
3
+ <div class="hslider_track"></div>
4
+ <div class="hslider_thumb" id="control#{_ID}"></div>
5
+ ${this.thumbSize=21;}
File without changes
@@ -0,0 +1,52 @@
1
+ .vslider_track_top,
2
+ .vslider_track_bottom,
3
+ .vslider_track {
4
+ position: absolute;
5
+ width: 7px; left: 7px;
6
+ font-size: 0px;
7
+ background-image: #{this.getCssFilePath('vslider_tracks.png')};
8
+ }
9
+
10
+ .vslider_track_top {
11
+ top: 10px; height: 4px;
12
+ background-position: 0px 0px;
13
+ }
14
+
15
+ .vslider_track_bottom {
16
+ bottom: 10px; height: 4px;
17
+ background-position: 0px -4px;
18
+ }
19
+
20
+ .vslider_track {
21
+ top: 14px; bottom: 14px;
22
+ background-position: -14px 0px;
23
+ }
24
+
25
+ .disabled .vslider_track_top {
26
+ background-position: -7px 0px;
27
+ }
28
+
29
+ .disabled .vslider_track_bottom {
30
+ background-position: -7px -4px;
31
+ }
32
+
33
+ .disabled .vslider_track {
34
+ background-position: -21px 0px;
35
+ }
36
+
37
+ .vslider_thumb {
38
+ position: absolute;
39
+ font-size: 0px;
40
+ left: 0px; width: 21px; height: 21px;
41
+ background-position: 0px 0px;
42
+ background-image: #{this.getCssFilePath('slider_thumbs.png')};
43
+ }
44
+
45
+ .vslider_thumb:active {
46
+ background-position: 0px -22px;
47
+ }
48
+
49
+ .disabled .vslider_thumb {
50
+ background-position: 0px -44px;
51
+ }
52
+
@@ -0,0 +1,5 @@
1
+ <div class="vslider_track_top"></div>
2
+ <div class="vslider_track_bottom"></div>
3
+ <div class="vslider_track"></div>
4
+ <div class="vslider_thumb" id="control#{_ID}"></div>
5
+ ${this.thumbSize=21;}
@@ -0,0 +1,41 @@
1
+ /* RSence
2
+ * Copyright 2006 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+ /*** = Description
10
+ ** HVSlider (vertical version of the slider control) is a control unit that enables the user
11
+ ** to choose a value in a range of values. Sliders support both dragging the handle and
12
+ ** clicking the mouse anywhere on the slider to move the handle towards the mouse,
13
+ ** as well as keyboard support after the handle is in active mode.
14
+ ** Naturally, sliders are commonly used as colour mixers, volume controls,
15
+ ** graphical equalizers and seekers in media applications.
16
+ ** A typical slider is a drag-able knob along vertical or horizontal line.
17
+ **
18
+ ** = Instance variables
19
+ ** +minValue+:: The smallest allowed value.
20
+ ** +maxValue+:: The biggest allowed value.
21
+ ** +repeatDelay+:: The key repetition initial delay when changing the slider
22
+ ** with cursor keys. Defaults to 300 (ms)
23
+ ** +repeatInterval+:: The key repetition interval when changing the slider
24
+ ** with cursor keys. Defaults to 50 (ms)
25
+ ** +inveseAxis+:: Inverse Scrollwheel axis.
26
+ ** As there is only one scrollwheel event, sideways
27
+ ** scrolling doesn't work logically for horizonal
28
+ ** scrollbars by default, so set this to true to
29
+ ** have horizonal sliders work logically
30
+ ** with sideways scrolling, where supported.
31
+ ***/
32
+ var//RSence.Controls
33
+ HVSlider = HSlider.extend({
34
+
35
+ componentName: "vslider",
36
+
37
+ // This overrides the HSlider property.
38
+ _isVertical: true
39
+
40
+ });
41
+
File without changes