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="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,40 @@
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
+ ** 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
+ HVSlider = HSlider.extend({
33
+
34
+ componentName: "vslider",
35
+
36
+ // This overrides the HSlider property.
37
+ _isVertical: true
38
+
39
+ });
40
+
File without changes
@@ -0,0 +1,212 @@
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
+ ** HStepper is a control unit made of two adjacent buttons with up and down arrows
11
+ ** to select the previous or next of a set of contiguous values.
12
+ ** Normally, a HStepper instance works in combination with a HTextControl or a HStringView instance.
13
+ **
14
+ ** = Instance Variables
15
+ ** +minValue+:: The smallest allowed value
16
+ ** +maxValue+:: The biggest allowed value
17
+ ** +stepSize+:: Amount of to step, defaults to +/- 1
18
+ ** +repeatInterval+:: Interval in milliseconds for repeat
19
+ ** +wrapAround+:: Boolean to control wrap-around behaviour
20
+ ***/
21
+
22
+ HStepper = HControl.extend({
23
+
24
+ componentName: "stepper",
25
+
26
+ defaultEvents: {
27
+ mouseDown: true,
28
+ keyDown: true,
29
+ mouseWheel: true
30
+ },
31
+
32
+ controlDefaults: (HControlDefaults.extend({
33
+ minValue: 0,
34
+ maxValue: 100,
35
+ stepSize: 1,
36
+ repeatInterval: 200,
37
+ wrapAround: false
38
+ })),
39
+
40
+ /** Setter for wrap-around behaviour
41
+ **/
42
+ setWrapAround: function(_on){
43
+ this.options.wrapAround = _on;
44
+ },
45
+
46
+ // -- Makes sure the value is in its boundaries and either wrap-around
47
+ // to min/max or revert to the current value ++
48
+ _checkValueBoundaries: function(_value){
49
+
50
+ // -- checks for boundaries ++
51
+ var _this = this,
52
+ _options = _this.options,
53
+ _minVal = _options.minValue,
54
+ _maxVal = _options.maxValue,
55
+ _tooSmall = _value<_minVal,
56
+ _tooBig = _value>_maxVal,
57
+ _overflow = ( _tooSmall || _tooBig );
58
+
59
+ // -- The value is ok, just return it as it is ++
60
+ if (!_overflow) {
61
+ return _value;
62
+ }
63
+
64
+
65
+ /// -- Handle the overflow condition: ++
66
+
67
+ // -- Wrap around uses min/max as new value as either is reached ++
68
+ if (_options.wrapAround) {
69
+ if (_tooSmall) {
70
+ return _maxVal;
71
+ }
72
+ else {
73
+ return _minVal;
74
+ }
75
+ }
76
+ // -- Any other condition means we just revert the changes ++
77
+ else {
78
+ return _this.value;
79
+ }
80
+
81
+ },
82
+
83
+ /** Adds the step size to the value
84
+ **/
85
+ stepUp: function(){
86
+ this.setValue(
87
+ this._checkValueBoundaries(
88
+ this.value + this.options.stepSize
89
+ )
90
+ );
91
+ },
92
+
93
+ /** Subtracts the step size from the value
94
+ **/
95
+ stepDown: function(){
96
+ this.setValue(
97
+ this._checkValueBoundaries(
98
+ this.value - this.options.stepSize
99
+ )
100
+ );
101
+ },
102
+
103
+ // -- Returns an action string for the setInterval in _setRepeatInterval ++
104
+ _repeatIntervalStr: function( _up ){
105
+ return [
106
+ 'HSystem.views[',
107
+ this.viewId,
108
+ '].step',
109
+ (_up?'Up':'Down'),
110
+ '();'
111
+ ].join('');
112
+ },
113
+
114
+ // -- Background-offset of the state images up/down,
115
+ // overrideable in the html template ++
116
+ bgStateUp: '0px -23px',
117
+ bgStateDown: '0px -46px',
118
+
119
+ // enables the up/down effect in the image based on the _up boolean (true means up, false means down)
120
+ _bgStateOn: function( _up ){
121
+ ELEM.setStyle(this.markupElemIds.state,'background-position',_up?this.bgStateUp:this.bgStateDown);
122
+ },
123
+
124
+ // reverts the up/down effect
125
+ _bgStateOff: function(){
126
+ ELEM.setStyle(this.markupElemIds.state,'background-position','');
127
+ },
128
+
129
+ // Starts the repeating stepping up or down (when the mouse button or a arrow key is down)
130
+ _setRepeatInterval: function( _up ){
131
+ var _this = this,
132
+ _options = _this.options;
133
+ _this._bgStateOn( _up );
134
+ if (_up) {
135
+ _this.stepUp();
136
+ _this._repeatInterval = setInterval( _this._repeatIntervalStr(1), _options.repeatInterval );
137
+ }
138
+ else {
139
+ _this.stepDown();
140
+ _this._repeatInterval = setInterval( _this._repeatIntervalStr(0), _options.repeatInterval );
141
+ }
142
+ },
143
+
144
+ // Stops the repeating stepping up or down enabled in _setRepeatInterval
145
+ _clearRepeatInterval: function(){
146
+ this._bgStateOff();
147
+ clearInterval( this._repeatInterval );
148
+ },
149
+
150
+ /** Checks where the mouseDown happened and adjusts the stepper up/down based on that
151
+ **/
152
+ mouseDown: function( x, y ){
153
+ this.setMouseUp(true);
154
+ this._setRepeatInterval( ( y - ELEM.getVisiblePosition( this.elemId )[1] ) <= 11 );
155
+ },
156
+
157
+ /** Stops the repeating stepping, when the mouse button goes up
158
+ **/
159
+ mouseUp: function(){
160
+ this._clearRepeatInterval();
161
+ },
162
+
163
+ /** Stops the repeating stepping, when the control becomes inactive
164
+ **/
165
+ blur: function(){
166
+ this._clearRepeatInterval();
167
+ },
168
+
169
+ /** adjusts stepping up/down based on the arrow key pressed.
170
+ * up and right arrow keys steps the value up, down and left steps the value down
171
+ **/
172
+ keyDown: function( _keyCode ) {
173
+ this.setKeyUp(true);
174
+ var _keyDown = (_keyCode === Event.KEY_DOWN),
175
+ _keyUp = (_keyCode === Event.KEY_UP),
176
+ _keyLeft = (_keyCode === Event.KEY_LEFT),
177
+ _keyRight = (_keyCode === Event.KEY_RIGHT),
178
+ _arrowKey = (_keyDown || _keyUp || _keyLeft || _keyRight);
179
+ if (_arrowKey) {
180
+ this._setRepeatInterval( (_keyUp || _keyRight) );
181
+ }
182
+ else if (_keyCode === Event.KEY_HOME) {
183
+ this.setValue(this.options.minValue);
184
+ }
185
+ else if (_keyCode === Event.KEY_END) {
186
+ this.setValue(this.options.maxValue);
187
+ }
188
+ // Page up and page down keys act just like arrow up/down.
189
+ else if (_keyCode === Event.KEY_PAGEUP) {
190
+ this._setRepeatInterval( 1 );
191
+ }
192
+ else if (_keyCode === Event.KEY_PAGEDOWN) {
193
+ this._setRepeatInterval( 0 );
194
+ }
195
+ },
196
+
197
+ /** stops the repeating when a key goes up
198
+ **/
199
+ keyUp: function(){
200
+ this._clearRepeatInterval();
201
+ },
202
+
203
+ /** steps the value up/down based on the mouse scroll wheel
204
+ **/
205
+ mouseWheel: function(_delta) {
206
+ (_delta>0)?this.stepUp():this.stepDown();
207
+ }
208
+
209
+
210
+ });
211
+
212
+
@@ -0,0 +1,14 @@
1
+ .stepper_state {
2
+ position: absolute;
3
+ left: 0px;
4
+ top: 0px;
5
+ width: 15px;
6
+ height: 23px;
7
+ background-position: 0px 0px;
8
+ background-repeat: no-repeat;
9
+ background-image: #{this.getCssFilePath('stepper.png')};
10
+ }
11
+
12
+ .disabled .stepper_state {
13
+ background-position: 0px -69px;
14
+ }
@@ -0,0 +1,2 @@
1
+ <div class="stepper_state" id="state#{_ID}"></div>
2
+ ${this.bgStateUp='0px -23px';this.bgStateDown='0px -46px';}
File without changes
@@ -0,0 +1,49 @@
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
+ ** HStringView is a view component that represents a non-editable line of text.
11
+ ** Commonly, stringview is used as a label to control elements
12
+ ** that do not have implicit labels (text fields, checkboxes and radio buttons, and menus).
13
+ ** Some form controls automatically have labels associated with them (press buttons)
14
+ ** while most do not have (text fields, checkboxes and radio buttons, and sliders etc.).
15
+ **
16
+ ** = Instance variables
17
+ ** +type+:: '[HStringView]'
18
+ ** +value+:: The string that this string view displays when drawn.
19
+ ***/
20
+ HStringView = HControl.extend({
21
+
22
+ componentName: "stringview",
23
+ componentBehaviour: ['view','control','text'],
24
+
25
+ /** = Description
26
+ * setStyle function
27
+ *
28
+ **/
29
+ setStyle: function(_name, _value, _cacheOverride) {
30
+ if (!this['markupElemIds']||!this.markupElemIds['value']) {
31
+ return;
32
+ }
33
+ ELEM.setStyle(this.markupElemIds.value, _name, _value, _cacheOverride);
34
+ return this;
35
+ },
36
+
37
+ /** = Description
38
+ * refreshLable function
39
+ *
40
+ **/
41
+ refreshLabel: function() {
42
+ if(this.markupElemIds) {
43
+ if(this.markupElemIds.value) {
44
+ ELEM.setAttr(this.markupElemIds.value, 'title', this.label);
45
+ }
46
+ }
47
+ }
48
+ });
49
+
@@ -0,0 +1,8 @@
1
+ .stringview {
2
+ color: #333;
3
+ padding: 1px;
4
+ font-size: 12px;
5
+ font-family: Arial, sans-serif;
6
+ overflow-y: visible;
7
+ }
8
+
@@ -0,0 +1 @@
1
+ <div class="stringview" id="value#{_ID}" title="#{this.label}"></div>
File without changes
@@ -0,0 +1,276 @@
1
+ /* Riassence Framework
2
+ * Copyright 2008 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
+ ** HTabView
11
+ **
12
+ **
13
+ ***/
14
+ HTabView = HView.extend({
15
+ /** = Description
16
+ * draw function
17
+ *
18
+ **/
19
+ draw: function(){
20
+ var _isDrawn = this.drawn;
21
+ this.base();
22
+ if(!_isDrawn){
23
+ var i=0,_styles = [
24
+ ['overflow','auto']
25
+ ];
26
+ for(i;i<_styles.length;i++){
27
+ this.setStyle(_styles[i][0],_styles[i][1]);
28
+ }
29
+ this.hide();
30
+ }
31
+ }
32
+ });
33
+
34
+ /** = Description
35
+ * HTab
36
+ *
37
+ **/
38
+ HTab = HControl.extend({
39
+ componentName: "tab",
40
+ componentBehaviour: ['view','control','tab'],
41
+ refreshOnValueChange: true,
42
+ refreshOnLabelChange: false,
43
+
44
+ controlDefaults: (HControlDefaults.extend({
45
+ constructor: function(_ctrl){
46
+ this.tabInit(_ctrl);
47
+ },
48
+ tabInit: function(_ctrl){
49
+ _ctrl.tabs = [];
50
+ _ctrl.tabLabels = [];
51
+ _ctrl.tabLabelBounds = [];
52
+ _ctrl.tabLabelStrings = [];
53
+ }
54
+ })),
55
+
56
+ rightmostPx: 0,
57
+ selectIdx: -1,
58
+
59
+ // overridden in the template
60
+ tabLabelHeight: 20,
61
+
62
+ // overridden in the template
63
+ tabLabelLeftEdge: 4,
64
+
65
+ // overridden in the template
66
+ tabLabelRightEdge: 4,
67
+
68
+ // overridden in the template
69
+ fontStyle: 'font-family:Arial,sans-serif;font-size:13px;',
70
+
71
+ tabLabelHTMLPrefix1: '<div class="edge-left"></div><div class="tablabel" style="width:',
72
+ tabLabelHTMLPrefix2: 'px">',
73
+ tabLabelHTMLSuffix: '</div><div class="edge-right"></div>',
74
+ tabLabelParentElem: 'label',
75
+ tabLabelElementTagName: 'div',
76
+ tabLabelAlign: 'left',
77
+ tabLabelFillBg: false,
78
+ tabTriggerLink: true,
79
+ tabLabelNoHTMLPrefix: false,
80
+
81
+ /** = Description
82
+ * refreshValue function
83
+ *
84
+ **/
85
+ refreshValue: function(){
86
+ var _value = this.value;
87
+ if(typeof _value === 'number'){
88
+ var _index = parseInt(_value,10);
89
+ if(_index<this.tabs.length){
90
+ if(_index!==this.selectIdx){
91
+ this.selectTab(_index);
92
+ }
93
+ }
94
+ }
95
+ },
96
+
97
+ /** = Description
98
+ * Sets label for the tab.
99
+ *
100
+ * = Parameters
101
+ * +_label+:: Label for the tab
102
+ *
103
+ **/
104
+ setLabel: function(_label){
105
+ this.label = _label;
106
+ },
107
+
108
+ /** = Description
109
+ * selectTab function
110
+ *
111
+ * = Parameters
112
+ * +_tabIdx+::
113
+ *
114
+ **/
115
+ selectTab: function(_tabIdx){
116
+ if(_tabIdx instanceof HTabView){
117
+ _tabIdx = _tabIdx.tabIndex;
118
+ }
119
+ if(this.selectIdx!==-1){
120
+ var _tabSelectElemId = this.tabLabels[this.selectIdx],
121
+ _tabSelectViewId = this.tabs[this.selectIdx];
122
+ ELEM.removeClassName(_tabSelectElemId,'item-fg');
123
+ ELEM.addClassName(_tabSelectElemId,'item-bg');
124
+ HSystem.views[_tabSelectViewId].hide();
125
+ }
126
+ if(_tabIdx!==-1){
127
+ var _tabLabelElemId = this.tabLabels[_tabIdx],
128
+ _tabViewId = this.tabs[_tabIdx];
129
+ ELEM.removeClassName(_tabLabelElemId,'item-bg');
130
+ ELEM.addClassName(_tabLabelElemId,'item-fg');
131
+ HSystem.views[_tabViewId].show();
132
+ }
133
+ this.selectIdx = _tabIdx;
134
+ this.setValue(_tabIdx);
135
+ },
136
+
137
+ /** = Description
138
+ * addTab function
139
+ *
140
+ * = Parameters
141
+ * +_tabLabel+::
142
+ * +_doSelect+::
143
+ *
144
+ **/
145
+ addTab: function(_tabLabel,_doSelect){
146
+ var _tabIdx=this.tabs.length,
147
+ _tabLabelHTML='',
148
+ _labelTextWidth=this.stringWidth(_tabLabel),
149
+ _labelWidth=_labelTextWidth+this.tabLabelLeftEdge+this.tabLabelRightEdge,
150
+ _tab = HTabView.nu( [0,this.tabLabelHeight,null,null,0,0] ,this),
151
+ _tabLabelElemId = ELEM.make(this.markupElemIds[this.tabLabelParentElem],this.tabLabelElementTagName);
152
+ _tabIdx = this.tabs.length;
153
+ if(this.tabLabelNoHTMLPrefix){
154
+ _tabLabelHTML = _tabLabel;
155
+ }
156
+ else {
157
+ _tabLabelHTML = this.tabLabelHTMLPrefix1+_labelTextWidth+this.tabLabelHTMLPrefix2+_tabLabel+this.tabLabelHTMLSuffix;
158
+ }
159
+ _tab.hide();
160
+ ELEM.addClassName(_tabLabelElemId,'item-bg');
161
+ ELEM.setStyle(_tabLabelElemId,'width',_labelWidth+'px');
162
+ ELEM.setStyle(_tabLabelElemId,this.tabLabelAlign,this.rightmostPx+'px');
163
+ ELEM.setHTML(_tabLabelElemId,_tabLabelHTML);
164
+ this.tabLabelStrings.push(_tabLabel);
165
+ if(this.tabTriggerLink&&this.tabLabelElementTagName==='a'){
166
+ ELEM.setAttr(_tabLabelElemId,'href','javascript:HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
167
+ }
168
+ else if (this.tabTriggerLink){
169
+ ELEM.setAttr(_tabLabelElemId,'onclick','HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
170
+ }
171
+ else {
172
+ this.tabLabelBounds.push([this.rightmostPx,this.rightmostPx+_labelWidth]);
173
+ }
174
+ this.rightmostPx+=_labelWidth;
175
+ if(this.tabLabelAlign === 'right'){
176
+ ELEM.setStyle(this.markupElemIds[this.tabLabelParentElem],'width',this.rightmostPx+'px');
177
+ }
178
+ else if (this.tabLabelFillBg) {
179
+ ELEM.setStyle(this.markupElemIds.state,'left',this.rightmostPx+'px');
180
+ }
181
+ this.tabs.push(_tab.viewId);
182
+ this.tabLabels.push(_tabLabelElemId);
183
+ _tab.tabIndex = _tabIdx;
184
+ if(_doSelect || (this.value === _tabIdx)){
185
+ this.selectTab(_tabIdx);
186
+ }
187
+ return _tab;
188
+ },
189
+
190
+ /** = Description
191
+ * click function
192
+ *
193
+ * = Parameters
194
+ * +_x+::
195
+ * +_y+::
196
+ *
197
+ **/
198
+ click: function(_x,_y){
199
+ if(this.tabTriggerLink){
200
+ this.setClickable(false);
201
+ return;
202
+ }
203
+ _x -= this.pageX();
204
+ _y -= this.pageY();
205
+ if(_y<=this.tabLabelHeight){
206
+ if (this.tabLabelAlign === 'right') {
207
+ _x = this.rect.width - _x;
208
+ }
209
+ if(_x<=this.rightmostPx){
210
+ var i=0,_labelBounds;
211
+ for(i;i<this.tabLabelBounds.length;i++){
212
+ _labelBounds = this.tabLabelBounds[i];
213
+ if(_x<_labelBounds[1] && _x>=_labelBounds[0]){
214
+ this.selectTab(i);
215
+ return;
216
+ }
217
+ }
218
+ }
219
+
220
+ }
221
+ },
222
+
223
+ /** = Description
224
+ * removeTab function
225
+ *
226
+ * = Parameters
227
+ * +_tabIdx+::
228
+ *
229
+ **/
230
+ removeTab: function(_tabIdx){
231
+ var _selIdx = this.selectIdx,
232
+ _tabViewId = this.tabs[_tabIdx],
233
+ _tabLabelElemId = this.tabViews[_tabIdx];
234
+ this.tabs.splice(_tabIdx,1);
235
+ this.tabLabels.splice(_tabIdx,1);
236
+ this.tabLabelBounds.splice(_tabIdx,1);
237
+ this.tabLabelStrings.splice(_tabIdx,1);
238
+ if(_tabIdx===_selIdx){
239
+ this.selectIdx=-1;
240
+ if(_tabIdx===0&&this.tabs.length===0){
241
+ this.selectTab(-1);
242
+ }
243
+ else if(_tabIdx===(this.tabs.length-1)){
244
+ this.selectTab(_tabIdx-1);
245
+ }
246
+ else{
247
+ this.selectTab(_tabIdx);
248
+ }
249
+ }
250
+ else if(_tabIdx<_selIdx){
251
+ this.selectIdx--;
252
+ }
253
+ ELEM.del(_tabLabelElemId);
254
+ HSystem.views[_tabViewId].die();
255
+ }
256
+ });
257
+
258
+ /** = Description
259
+ * HTabItem is a wrapper for creating tabs as subviews when using JSONRenderer.
260
+ * rect is ignored
261
+ * parent is the HTab instance
262
+ * options may contain the following:
263
+ * select: true|false, passed on to addTab
264
+ * label: true|false, passed on to addTab
265
+ *
266
+ * = Returns
267
+ * a new HTabView instance returned by addTab
268
+ *
269
+ **/
270
+ HTabItem = {
271
+ nu: function(_rect, _parent, _options){
272
+ return _parent.addTab( _options.label, _options.select );
273
+ }
274
+ };
275
+
276
+