rsence 2.0.0.0.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 (311) hide show
  1. data/INSTALL.rdoc +295 -0
  2. data/LICENSE +622 -0
  3. data/README.rdoc +24 -0
  4. data/VERSION +1 -0
  5. data/bin/build_client.rb +254 -0
  6. data/bin/help +6 -0
  7. data/bin/launch.rb +120 -0
  8. data/bin/rdoc.sh +2 -0
  9. data/bin/restart +6 -0
  10. data/bin/rsence +120 -0
  11. data/bin/run +6 -0
  12. data/bin/run.rb +6 -0
  13. data/bin/save +6 -0
  14. data/bin/start +6 -0
  15. data/bin/status +6 -0
  16. data/bin/stop +6 -0
  17. data/conf/config.ru +5 -0
  18. data/conf/default_conf.yaml +337 -0
  19. data/conf/default_strings.yaml +77 -0
  20. data/conf/local_conf.yaml +14 -0
  21. data/conf/unicorn.conf +78 -0
  22. data/js/comm/comm/autosync/autosync.js +18 -0
  23. data/js/comm/comm/autosync/js.inc +0 -0
  24. data/js/comm/comm/comm.js +195 -0
  25. data/js/comm/comm/js.inc +0 -0
  26. data/js/comm/comm/queue/js.inc +0 -0
  27. data/js/comm/comm/queue/queue.js +183 -0
  28. data/js/comm/comm/session/js.inc +0 -0
  29. data/js/comm/comm/session/session.js +51 -0
  30. data/js/comm/comm/sessionwatcher/js.inc +0 -0
  31. data/js/comm/comm/sessionwatcher/sessionwatcher.js +43 -0
  32. data/js/comm/comm/transporter/js.inc +0 -0
  33. data/js/comm/comm/transporter/transporter.js +257 -0
  34. data/js/comm/comm/urlresponder/js.inc +0 -0
  35. data/js/comm/comm/urlresponder/urlresponder.js +148 -0
  36. data/js/comm/comm/values/js.inc +0 -0
  37. data/js/comm/comm/values/values.js +432 -0
  38. data/js/comm/jsloader/js.inc +0 -0
  39. data/js/comm/jsloader/jsloader.js +114 -0
  40. data/js/comm/reloadapp/js.inc +0 -0
  41. data/js/comm/reloadapp/reloadapp.js +150 -0
  42. data/js/comm/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
  43. data/js/comm/reloadapp/themes/default/reloadapp_warning.png +0 -0
  44. data/js/comm/sha/js.inc +0 -0
  45. data/js/comm/sha/sha.js +432 -0
  46. data/js/comm/values/value/js.inc +0 -0
  47. data/js/comm/values/value/value.js +182 -0
  48. data/js/comm/values/valuematrix/js.inc +0 -0
  49. data/js/comm/values/valuematrix/valuematrix.js +138 -0
  50. data/js/controls/button/button.js +57 -0
  51. data/js/controls/button/js.inc +0 -0
  52. data/js/controls/button/themes/bright/button.css +89 -0
  53. data/js/controls/button/themes/bright/button.html +7 -0
  54. data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
  55. data/js/controls/button/themes/bright/button_parts1.png +0 -0
  56. data/js/controls/button/themes/default/button.css +89 -0
  57. data/js/controls/button/themes/default/button.html +7 -0
  58. data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
  59. data/js/controls/button/themes/default/button_parts1.png +0 -0
  60. data/js/controls/checkbox/checkbox.js +47 -0
  61. data/js/controls/checkbox/js.inc +0 -0
  62. data/js/controls/checkbox/themes/default/checkbox.css +69 -0
  63. data/js/controls/checkbox/themes/default/checkbox.html +5 -0
  64. data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
  65. data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
  66. data/js/controls/datetime/calendar/calendar.js +197 -0
  67. data/js/controls/datetime/calendar/js.inc +0 -0
  68. data/js/controls/datetime/calendar/themes/default/calendar.css +108 -0
  69. data/js/controls/datetime/calendar/themes/default/calendar.html +9 -0
  70. data/js/controls/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
  71. data/js/controls/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  72. data/js/controls/datetime/datetimevalue/datetimevalue.js +246 -0
  73. data/js/controls/datetime/datetimevalue/js.inc +0 -0
  74. data/js/controls/datetime/timesheet/js.inc +0 -0
  75. data/js/controls/datetime/timesheet/themes/default/timesheet.css +30 -0
  76. data/js/controls/datetime/timesheet/themes/default/timesheet.html +2 -0
  77. data/js/controls/datetime/timesheet/timesheet.js +182 -0
  78. data/js/controls/datetime/timesheet_item/js.inc +0 -0
  79. data/js/controls/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
  80. data/js/controls/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
  81. data/js/controls/datetime/timesheet_item/timesheet_item.js +247 -0
  82. data/js/controls/datetime/timesheet_item_edit/js.inc +0 -0
  83. data/js/controls/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
  84. data/js/controls/dialogs/alert_sheet/alert_sheet.js +62 -0
  85. data/js/controls/dialogs/alert_sheet/js.inc +0 -0
  86. data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +36 -0
  87. data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
  88. data/js/controls/dialogs/sheet/js.inc +0 -0
  89. data/js/controls/dialogs/sheet/sheet.js +83 -0
  90. data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
  91. data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
  92. data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
  93. data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
  94. data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
  95. data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
  96. data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
  97. data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
  98. data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
  99. data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
  100. data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
  101. data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
  102. data/js/controls/imageview/imageview.js +108 -0
  103. data/js/controls/imageview/js.inc +0 -0
  104. data/js/controls/imageview/themes/default/blank.gif +0 -0
  105. data/js/controls/lists/checkboxlist/checkboxlist.js +170 -0
  106. data/js/controls/lists/checkboxlist/js.inc +0 -0
  107. data/js/controls/lists/listitems/js.inc +0 -0
  108. data/js/controls/lists/listitems/listitems.js +65 -0
  109. data/js/controls/lists/radiobuttonlist/js.inc +0 -0
  110. data/js/controls/lists/radiobuttonlist/radiobuttonlist.js +126 -0
  111. data/js/controls/passwordcontrol/js.inc +0 -0
  112. data/js/controls/passwordcontrol/passwordcontrol.js +22 -0
  113. data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
  114. data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
  115. data/js/controls/progress/progressbar/js.inc +0 -0
  116. data/js/controls/progress/progressbar/progressbar.js +36 -0
  117. data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
  118. data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
  119. data/js/controls/progress/progressindicator/js.inc +0 -0
  120. data/js/controls/progress/progressindicator/progressindicator.js +43 -0
  121. data/js/controls/radiobutton/js.inc +0 -0
  122. data/js/controls/radiobutton/radiobutton.js +41 -0
  123. data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
  124. data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
  125. data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
  126. data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
  127. data/js/controls/sliders/slider/js.inc +0 -0
  128. data/js/controls/sliders/slider/slider.js +356 -0
  129. data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
  130. data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
  131. data/js/controls/sliders/slider/themes/default/slider.css +108 -0
  132. data/js/controls/sliders/slider/themes/default/slider.html +5 -0
  133. data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
  134. data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
  135. data/js/controls/sliders/vslider/js.inc +0 -0
  136. data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
  137. data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
  138. data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
  139. data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
  140. data/js/controls/sliders/vslider/vslider.js +40 -0
  141. data/js/controls/stepper/js.inc +0 -0
  142. data/js/controls/stepper/stepper.js +212 -0
  143. data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
  144. data/js/controls/stepper/themes/default/stepper.css +14 -0
  145. data/js/controls/stepper/themes/default/stepper.html +2 -0
  146. data/js/controls/stepper/themes/default/stepper.png +0 -0
  147. data/js/controls/stringview/js.inc +0 -0
  148. data/js/controls/stringview/stringview.js +49 -0
  149. data/js/controls/stringview/themes/default/stringview.css +8 -0
  150. data/js/controls/stringview/themes/default/stringview.html +1 -0
  151. data/js/controls/tab/js.inc +0 -0
  152. data/js/controls/tab/tab.js +276 -0
  153. data/js/controls/tab/themes/bright/tab.css +76 -0
  154. data/js/controls/tab/themes/bright/tab.html +6 -0
  155. data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
  156. data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
  157. data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
  158. data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
  159. data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
  160. data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
  161. data/js/controls/tab/themes/default/tab.css +77 -0
  162. data/js/controls/tab/themes/default/tab.html +6 -0
  163. data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
  164. data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
  165. data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
  166. data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
  167. data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
  168. data/js/controls/tab/themes/default/tab_parts1.png +0 -0
  169. data/js/controls/textarea/js.inc +0 -0
  170. data/js/controls/textarea/textarea.js +23 -0
  171. data/js/controls/textarea/themes/default/textarea.css +21 -0
  172. data/js/controls/textarea/themes/default/textarea.html +18 -0
  173. data/js/controls/textcontrol/js.inc +0 -0
  174. data/js/controls/textcontrol/textcontrol.js +372 -0
  175. data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
  176. data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
  177. data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
  178. data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
  179. data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
  180. data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
  181. data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
  182. data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
  183. data/js/controls/uploader/js.inc +0 -0
  184. data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
  185. data/js/controls/uploader/themes/default/uploader.css +108 -0
  186. data/js/controls/uploader/themes/default/uploader.html +27 -0
  187. data/js/controls/uploader/uploader.js +153 -0
  188. data/js/controls/validatorview/js.inc +0 -0
  189. data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
  190. data/js/controls/validatorview/themes/default/validator.png +0 -0
  191. data/js/controls/validatorview/themes/default/validatorview.css +0 -0
  192. data/js/controls/validatorview/themes/default/validatorview.html +0 -0
  193. data/js/controls/validatorview/validatorview.js +55 -0
  194. data/js/controls/window/js.inc +0 -0
  195. data/js/controls/window/themes/default/window.css +219 -0
  196. data/js/controls/window/themes/default/window.html +17 -0
  197. data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
  198. data/js/controls/window/themes/default/window_bg_active.png +0 -0
  199. data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
  200. data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
  201. data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
  202. data/js/controls/window/themes/default/window_buttons.png +0 -0
  203. data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
  204. data/js/controls/window/themes/default/window_parts1.png +0 -0
  205. data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
  206. data/js/controls/window/themes/default/window_parts2.png +0 -0
  207. data/js/controls/window/window.js +284 -0
  208. data/js/core/class/class.js +317 -0
  209. data/js/core/class/js.inc +0 -0
  210. data/js/core/elem/elem.js +1376 -0
  211. data/js/core/elem/js.inc +0 -0
  212. data/js/core/event/event.js +1021 -0
  213. data/js/core/event/js.inc +0 -0
  214. data/js/core/iefix/ie_css_element.htc +5 -0
  215. data/js/core/iefix/ie_css_style.htc +5 -0
  216. data/js/core/iefix/iefix.js +359 -0
  217. data/js/core/iefix/js.inc +0 -0
  218. data/js/debugg/debugg.js +43 -0
  219. data/js/debugg/js.inc +0 -0
  220. data/js/foundation/application/application.js +209 -0
  221. data/js/foundation/application/js.inc +0 -0
  222. data/js/foundation/control/control.js +342 -0
  223. data/js/foundation/control/controldefaults/controldefaults.js +59 -0
  224. data/js/foundation/control/controldefaults/js.inc +0 -0
  225. data/js/foundation/control/dummyvalue/dummyvalue.js +50 -0
  226. data/js/foundation/control/dummyvalue/js.inc +0 -0
  227. data/js/foundation/control/dyncontrol/dyncontrol.js +494 -0
  228. data/js/foundation/control/dyncontrol/js.inc +0 -0
  229. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
  230. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
  231. data/js/foundation/control/eventresponder/eventresponder.js +713 -0
  232. data/js/foundation/control/eventresponder/js.inc +0 -0
  233. data/js/foundation/control/js.inc +0 -0
  234. data/js/foundation/control/valueresponder/js.inc +0 -0
  235. data/js/foundation/control/valueresponder/valueresponder.js +77 -0
  236. data/js/foundation/geom/point/js.inc +0 -0
  237. data/js/foundation/geom/point/point.js +202 -0
  238. data/js/foundation/geom/rect/js.inc +0 -0
  239. data/js/foundation/geom/rect/rect.js +610 -0
  240. data/js/foundation/json_renderer/js.inc +0 -0
  241. data/js/foundation/json_renderer/json_renderer.js +231 -0
  242. data/js/foundation/system/js.inc +0 -0
  243. data/js/foundation/system/system.js +369 -0
  244. data/js/foundation/thememanager/js.inc +0 -0
  245. data/js/foundation/thememanager/thememanager.js +387 -0
  246. data/js/foundation/view/js.inc +0 -0
  247. data/js/foundation/view/markupview/js.inc +0 -0
  248. data/js/foundation/view/markupview/markupview.js +113 -0
  249. data/js/foundation/view/morphanimation/js.inc +0 -0
  250. data/js/foundation/view/morphanimation/morphanimation.js +236 -0
  251. data/js/foundation/view/view.js +1804 -0
  252. data/js/foundation/view/viewdefaults/js.inc +0 -0
  253. data/js/foundation/view/viewdefaults/viewdefaults.js +25 -0
  254. data/js/views/centerview/centerview.js +45 -0
  255. data/js/views/centerview/js.inc +0 -0
  256. data/js/views/inlineview/inlineview.js +14 -0
  257. data/js/views/inlineview/js.inc +0 -0
  258. data/js/views/scrollview/js.inc +0 -0
  259. data/js/views/scrollview/scrollview.js +39 -0
  260. data/lib/conf/default.rb +220 -0
  261. data/lib/conf/wizard.rb +303 -0
  262. data/lib/daemon/daemon.rb +293 -0
  263. data/lib/http/broker.rb +102 -0
  264. data/lib/http/rackup.rb +88 -0
  265. data/lib/http/request.rb +69 -0
  266. data/lib/http/response.rb +63 -0
  267. data/lib/plugins/gui_plugin.rb +129 -0
  268. data/lib/plugins/guiparser.rb +114 -0
  269. data/lib/plugins/plugin.rb +652 -0
  270. data/lib/plugins/plugin_plugins.rb +47 -0
  271. data/lib/plugins/plugin_sqlite_db.rb +72 -0
  272. data/lib/plugins/plugin_util.rb +96 -0
  273. data/lib/plugins/pluginmanager.rb +517 -0
  274. data/lib/plugins/servlet.rb +69 -0
  275. data/lib/session/msg.rb +291 -0
  276. data/lib/session/sessionmanager.rb +491 -0
  277. data/lib/session/sessionstorage.rb +314 -0
  278. data/lib/transporter/transporter.rb +254 -0
  279. data/lib/util/gzstring.rb +5 -0
  280. data/lib/values/hvalue.rb +323 -0
  281. data/lib/values/valuemanager.rb +152 -0
  282. data/plugins/client_pkg/client_pkg.rb +186 -0
  283. data/plugins/client_pkg/info.yaml +25 -0
  284. data/plugins/client_pkg/lib/client_pkg_build.rb +569 -0
  285. data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
  286. data/plugins/client_pkg/lib/client_pkg_serve.rb +210 -0
  287. data/plugins/client_pkg/log/build_log +0 -0
  288. data/plugins/index_html/img/loading.gif +0 -0
  289. data/plugins/index_html/img/riassence.gif +0 -0
  290. data/plugins/index_html/index_html.rb +150 -0
  291. data/plugins/index_html/tmpl/index.html +22 -0
  292. data/plugins/index_html/tmpl/startup_index.html +29 -0
  293. data/plugins/legacy/disabled +0 -0
  294. data/plugins/legacy/disabled- +0 -0
  295. data/plugins/legacy/info.yaml +22 -0
  296. data/plugins/legacy/legacy.rb +15 -0
  297. data/plugins/main/js/riassence_ns.js +87 -0
  298. data/plugins/main/main.rb +234 -0
  299. data/plugins/main/values.yaml +8 -0
  300. data/plugins/ticketservices/lib/common.rb +300 -0
  301. data/plugins/ticketservices/lib/favicon.rb +38 -0
  302. data/plugins/ticketservices/lib/file.rb +58 -0
  303. data/plugins/ticketservices/lib/img.rb +50 -0
  304. data/plugins/ticketservices/lib/objblob.rb +66 -0
  305. data/plugins/ticketservices/lib/rsrc.rb +34 -0
  306. data/plugins/ticketservices/lib/upload.rb +206 -0
  307. data/plugins/ticketservices/ticketservices.rb +268 -0
  308. data/var/db/.git_include +0 -0
  309. data/var/log/.git_include +0 -0
  310. data/var/run/.git_include +0 -0
  311. metadata +390 -0
@@ -0,0 +1,5 @@
1
+ <div class="radiobutton_control#{this.value?' checked':' unchecked'}" id="control#{_ID}">
2
+ <div class="radiobutton_state" id="state#{_ID}"></div>
3
+ <div class="radiobutton_label" id="label#{_ID}">#{this.label}</div>
4
+ <div class="radiobutton_antiselect"></div>
5
+ </div>
File without changes
@@ -0,0 +1,356 @@
1
+ /* Riassence Framework
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
+ HSlider = HControl.extend({
33
+
34
+ componentName: "slider",
35
+
36
+ defaultEvents: {
37
+ draggable: true,
38
+ keyDown: true,
39
+ keyUp: true,
40
+ mouseWheel: true
41
+ },
42
+
43
+ controlDefaults: (HControlDefaults.extend({
44
+ minValue: 0,
45
+ maxValue: 1,
46
+ repeatDelay: 300,
47
+ repeatInterval: 50,
48
+ inverseAxis: false
49
+ })),
50
+
51
+ refreshOnValueChange: false,
52
+
53
+ _isVertical: false,
54
+
55
+
56
+ /** = Description
57
+ * Sets the current value of the object and moves the slider thumb to the correct position.
58
+ *
59
+ * = Parameters
60
+ * +_value+:: A numeric value to be set to the object.
61
+ *
62
+ **/
63
+ setValue: function(_value) {
64
+ if (_value < this.minValue) {
65
+ _value = this.minValue;
66
+ }
67
+ if (_value > this.maxValue) {
68
+ _value = this.maxValue;
69
+ }
70
+ this.base(_value);
71
+ if(this._thumbElemId){
72
+ this.drawThumbPos();
73
+ }
74
+ return this;
75
+ },
76
+
77
+ /** = Description
78
+ * Draws the rectangle and the markup of this object on the screen.
79
+ *
80
+ **/
81
+ draw: function() {
82
+ if(!this.drawn) {
83
+ this.drawRect();
84
+ this.drawMarkup();
85
+ this._initThumb();
86
+ }
87
+ this.refresh();
88
+ },
89
+
90
+
91
+ /** = Description
92
+ * This gets called automatically when the user starts to drag the slider thumb.
93
+ * Extend this method if you want something special to happen when the dragging starts.
94
+ *
95
+ * = Parameters
96
+ * +_x+:: The X coordinate of the point where the drag started.
97
+ * +_y+:: The Y coordinate of the point where the drag started.
98
+ *
99
+ **/
100
+ startDrag: function(_x,_y){
101
+ var _originalPosition = ELEM.getVisiblePosition(this.elemId, true);
102
+ this._originX = _originalPosition[0];
103
+ this._originY = _originalPosition[1];
104
+
105
+ this.drag(_x,_y);
106
+ },
107
+
108
+
109
+ /** = Description
110
+ * This gets called automatically when the user stops dragging the slider thumb.
111
+ * Extend this method if you want something special to happen when the dragging ends.
112
+ *
113
+ * = Parameters
114
+ * +_x+:: The X coordinate of the point where the drag ended.
115
+ * +_y+:: The Y coordinate of the point where the drag ended.
116
+ *
117
+ **/
118
+ endDrag: function(_x,_y){
119
+ this.drag(_x,_y);
120
+ },
121
+
122
+
123
+ /** = Description
124
+ * This gets called periodically while the user drags the slider thumb.
125
+ * Extend this method if you want something special to happen while dragging.
126
+ *
127
+ * = Parameters
128
+ * +_x+:: The X coordinate of the point where the user is currently dragging.
129
+ * +_y+:: The Y coordinate of the point where the user is currently dragging.
130
+ *
131
+ **/
132
+ drag: function(_x,_y){
133
+ _x -= this._originX;
134
+ _y -= this._originY;
135
+
136
+ var _rawVal = this._isVertical?_y:_x,
137
+ _value = this._pos2value(_rawVal);
138
+
139
+ this.setValue(_value);
140
+ },
141
+
142
+
143
+ /** = Description
144
+ * This gets called when the user presses a key down while this control is
145
+ * active. The default behaviour is to move the thumb with arrow keys, page up,
146
+ * page down, home and end.
147
+ *
148
+ * = Parameters
149
+ * +_keycode+:: The keycode of the key that was pressed down.
150
+ *
151
+ **/
152
+ keyDown: function(_keycode) {
153
+ // Arrow keys move the thumb 5% at a time.
154
+ if ( (_keycode === Event.KEY_LEFT && !this._isVertical) ||
155
+ (_keycode === Event.KEY_DOWN && this._isVertical) ) {
156
+ this._moving = true;
157
+ this._moveThumb(-0.05);
158
+ }
159
+ else if ( (_keycode === Event.KEY_RIGHT && !this._isVertical) ||
160
+ (_keycode === Event.KEY_UP && this._isVertical) ) {
161
+ this._moving = true;
162
+ this._moveThumb(0.05);
163
+ }
164
+ // Home key moves the thumb to the beginning and end key to the end.
165
+ else if (_keycode === Event.KEY_HOME) {
166
+ this.setValue(this.minValue);
167
+ }
168
+ else if (_keycode === Event.KEY_END) {
169
+ this.setValue(this.maxValue);
170
+ }
171
+ // Page up and page down keys move the thumb 25% at a time.
172
+ else if (_keycode === Event.KEY_PAGEDOWN) {
173
+ this._moving = true;
174
+ this._moveThumb(-0.25);
175
+ }
176
+ else if (_keycode === Event.KEY_PAGEUP) {
177
+ this._moving = true;
178
+ this._moveThumb(0.25);
179
+ }
180
+
181
+
182
+ },
183
+
184
+
185
+ /** = Description
186
+ * This gets called when the user releases a key while this control is active.
187
+ *
188
+ * = Parameters
189
+ * +_keycode+:: The keycode of the key that was released.
190
+ *
191
+ **/
192
+ keyUp: function(_keycode) {
193
+ this._moving = false;
194
+ },
195
+
196
+
197
+ /** = Description
198
+ * This gets called when the mouse wheel is used and the component
199
+ * instance has focus.
200
+ *
201
+ * = Parameters
202
+ * +_delta+:: Scrolling delta, the wheel angle change. If delta is positive,
203
+ * wheel was scrolled up. Otherwise, it was scrolled down.
204
+ *
205
+ **/
206
+ mouseWheel: function(_delta) {
207
+ var _valueChange;
208
+ if (_delta > 0) {
209
+ _valueChange = 0.05;
210
+ }
211
+ else {
212
+ _valueChange = -0.05;
213
+ }
214
+ if ( this.options.inverseAxis ) {
215
+ _valueChange = 0 - _valueChange;
216
+ }
217
+
218
+ var _value = (this.maxValue - this.minValue) * _valueChange;
219
+ this.setValue( this.value + _value);
220
+ },
221
+
222
+
223
+ // --private method++
224
+ _moveThumb: function(_valueChange, _rate) {
225
+
226
+ if (!_rate) {
227
+ // --If the key is held down, wait for a while before starting repeat.++
228
+ _rate = this.options.repeatDelay;
229
+ }
230
+ else if (_rate === this.options.repeatDelay) {
231
+ _rate = this.options.repeatInterval;
232
+ }
233
+
234
+ if (this._moving && this.active) {
235
+
236
+ var _value = (this.maxValue - this.minValue) * _valueChange;
237
+
238
+ this.setValue( this.value + _value);
239
+
240
+ var _that = this;
241
+ if (this._thumbMoveTimeout) {
242
+ window.clearTimeout(this._thumbMoveTimeout);
243
+ this._thumbMoveTimeout = null;
244
+ }
245
+ this._thumbMoveTimeout = window.setTimeout(function(){
246
+ _that._moveThumb(_valueChange, _rate);
247
+ }, _rate);
248
+ }
249
+
250
+ },
251
+
252
+ thumbSize: 21,
253
+ // -- private method ++
254
+ _initThumb: function() {
255
+ this._thumbElemId = this.markupElemIds.control;
256
+ this.drawThumbPos();
257
+ },
258
+
259
+
260
+ // -- private method ++
261
+ _value2px: function() {
262
+ var _pxrange;
263
+ if(this._isVertical){
264
+ _pxrange = this.rect.height - this.thumbSize;
265
+ } else {
266
+ _pxrange = this.rect.width - this.thumbSize;
267
+ }
268
+ var _intvalue = _pxrange * (
269
+ (this.value-this.minValue) / (this.maxValue - this.minValue)
270
+ );
271
+ if ( this._isVertical ) {
272
+ _intvalue = _pxrange - _intvalue;
273
+ }
274
+ _pxvalue = parseInt(_intvalue, 10)+'px';
275
+ return _pxvalue;
276
+ },
277
+
278
+
279
+ // -- private method ++
280
+ _pos2value: function(_mousePos) {
281
+ var _pxrange;
282
+ if(this._isVertical){
283
+ _pxrange = this.rect.height - this.thumbSize;
284
+ } else {
285
+ _pxrange = this.rect.width - this.thumbSize;
286
+ }
287
+ _mousePos -= (this.thumbSize/2);
288
+ if(_mousePos < 0){
289
+ _mousePos = 0;
290
+ }
291
+ if(_mousePos > _pxrange){
292
+ _mousePos = _pxrange;
293
+ }
294
+ if(this._isVertical){
295
+ return this.maxValue - ((_mousePos / _pxrange) * (this.maxValue - this.minValue));
296
+ } else {
297
+ return this.minValue + ((_mousePos / _pxrange) * (this.maxValue - this.minValue));
298
+ }
299
+ },
300
+
301
+
302
+ // -- private method ++
303
+ drawThumbPos: function() {
304
+ var _whichprop = this._isVertical?'top':'left',
305
+ _propval = this._value2px();
306
+ ELEM.setStyle(this._thumbElemId,_whichprop,_propval);
307
+ this.setOrientation(this.options['orientation']||this.prevOrientation);
308
+ },
309
+
310
+ prevOrientation: 'c',
311
+
312
+ cssClassPrefix: 'h',
313
+
314
+ /** = Description
315
+ * Changes the thumb graphic. Possible orientations by default are
316
+ * north ('n'), south ('s'), west ('w'), east('e') and center ('c').
317
+ * Defaults to 'c'. No case sensitivity.
318
+ *
319
+ * = Parameters
320
+ * +_orientation+:: The orientation of slider thumb graphic.
321
+ *
322
+ **/
323
+ setOrientation: function(_orientation) {
324
+ if(!_orientation){
325
+ _orientation = 'c';
326
+ }
327
+ _orientation = _orientation.toLowerCase();
328
+ if(_orientation === this.prevOrientation){
329
+ return;
330
+ }
331
+ if(this['markupElemIds']===undefined){
332
+ return;
333
+ }
334
+ if(this.markupElemIds['control']===undefined){
335
+ return;
336
+ }
337
+ var _toggleCSS = this.toggleCSSClass,
338
+ _ctrlId = this.markupElemIds.control,
339
+ _orientations = ['n','s','w','e','c'],
340
+ _iOrientation = '',
341
+ _cssClassName = '',
342
+ _cssClassPrefix = this.cssClassPrefix,
343
+ _cssClassVert = this._isVertical?'v':'',
344
+ _activeOrientation = false,
345
+ i = 0;
346
+ for(;i<5;i++){
347
+ _iOrientation = _orientations[i];
348
+ _activeOrientation = (_orientation===_iOrientation);
349
+ _cssClassName = (_orientation==='c')?_cssClassPrefix+_cssClassVert+'slider_thumb':_cssClassPrefix+'slider_thumb_'+_iOrientation;
350
+ _toggleCSS( _ctrlId, _cssClassName, _activeOrientation );
351
+ }
352
+
353
+ this.prevOrientation = _orientation;
354
+ }
355
+ });
356
+
@@ -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
+