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
File without changes
@@ -0,0 +1,342 @@
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
+ * The foundation class for all active visual components that
11
+ * implement events and values.
12
+ *
13
+ * Extend +HControl+ to suit your needs. See any component
14
+ * for extension reference.
15
+ *
16
+ **/
17
+ HControl = HView.extend({
18
+
19
+ /** Component behaviour includes 'view' and 'control' as a default.
20
+ **/
21
+ componentBehaviour: ['view','control'],
22
+
23
+ /** A flag: when true, calls the +refreshValue+ method whenever
24
+ * +self.value+ is changed.
25
+ **/
26
+ refreshOnValueChange: true,
27
+
28
+ /** The event object structure that specifies which events to listen to.
29
+ **/
30
+ events: null,
31
+
32
+ /** The enabled/disabled flag. See setEnabled.
33
+ **/
34
+ enabled: null,
35
+
36
+ /** The current value of a component. See setValue.
37
+ **/
38
+ value: null,
39
+
40
+ /** The current HValue compatible object. Do not set directly.
41
+ * Holds reference to the bound HValue instance.
42
+ * Set with HValue.bind.
43
+ **/
44
+ valueObj: null,
45
+
46
+ /** The minimum numeric value allowed, when the component
47
+ * utilizes value ranges. See setValueRange
48
+ **/
49
+ minValue: null,
50
+
51
+ /** The maximum allowed value, when the component
52
+ * utilizes value ranges. See setValueRange
53
+ **/
54
+ maxValue: null,
55
+
56
+ /** A boolean value that shows whether this control is currently
57
+ * active or not. Control gets active when the user clicks on it.
58
+ **/
59
+ active: null,
60
+
61
+ /** -- Use this object to specify class-specific default settings. ++
62
+ * The controlDefaults is a HControlDefaults object that is extended
63
+ * in the constructor with the options block given. The format of
64
+ * it is an Object.
65
+ **/
66
+ controlDefaults: HControlDefaults,
67
+
68
+ /** = Description
69
+ * The constructor of HControl implements the same model as HView,
70
+ * but accepts a third parameter: the options object, that contain
71
+ * optional properties, like the value and events.
72
+ *
73
+ * = Parameters
74
+ * +_rect+:: An instance of +HRect+, defines the position and size of views.
75
+ * It can be also defined with an array, see below.
76
+ * +_parent+:: The parent instance this instance will be contained within.
77
+ * A valid parent can be another HView compatible instance,
78
+ * an HApplication instance, a HControl or a similar extended
79
+ * HView instance. The origin of the +_rect+ is the same as the
80
+ * parent's offset. For HApplication instances, the web browser's
81
+ * window's left top corner is the origin.
82
+ * +_options+:: Optional, all other parameters as object attributes.
83
+ * Defaults to an instance of +HControlDefaults+, see controlDefaults
84
+ *
85
+ * == The +_rect+ dimensions as arrays
86
+ * Instead of an instance of +HRect+, dimensions can also be supplied as arrays.
87
+ * The array length must be either 4 or 6. If the length is 4, the dimensions are
88
+ * specified as follows: +[ x, y, width, height ]+. Note that this is different
89
+ * from the construction parameters of +HRect+ that takes the coordinates as two
90
+ * points, like: +( left, top, right, bottom )+.
91
+ * Arrays with 6 items are a bit more complex (and powerful) as they can specify
92
+ * the flexible offsets too.
93
+ *
94
+ * === The array indexes for a +_rect+ configured as an 4-item array:
95
+ * Always left/top aligned, all items must be specified.
96
+ * Index:: Description
97
+ * +0+:: The X-coordinate (measured from the parent's left edge)
98
+ * +1+:: The Y-coordinate (measured from the parent's top edge)
99
+ * +2+:: The width.
100
+ * +3+:: The height.
101
+ *
102
+ * === The array indexes a +_rect+ configured as an 6-item array:
103
+ * Can be any configuration of left/top/right/bottom alignment and supports
104
+ * flexible widths. At least 4 items must be specified.
105
+ * Index:: Description
106
+ * +0+:: The left-aligned X-coordinate or +null+ if the view is
107
+ * right-aligned and using a right-aligned X-coordinate at
108
+ * index +4+ as well as the width specified at index +2+.
109
+ * +1+:: The top-aligned Y-coordinate or +null+ if the view is
110
+ * bottom-aligned and using a right-aligned X-coordinate at
111
+ * index +5+ as well as the height specified at index +3+.
112
+ * +2+:: The width, if only one X-coordinate specifies the
113
+ * position (at indexes +0+ or +4+).
114
+ * If both X-coordinates (at indexes +0+ and +4+) are
115
+ * specified, the width can be specified with a +null+ for
116
+ * automatic (flexible) width. If the width is specified,
117
+ * it's used as the minimum width.
118
+ * +3+:: The height, if only one Y-coordinate specifies the
119
+ * position (at indexes +1+ or +5+).
120
+ * If both Y-coordinates (at indexes +1+ and +5+) are
121
+ * specified, the height can be specified with a +null+ for
122
+ * automatic (flexible) height. if the height is specified,
123
+ * it's used as the minimum height.
124
+ * +4+:: The right-aligned X-coordinate or +null+ if the view is
125
+ * left-aligned and using a left-aligned X-coordinate at
126
+ * index +0+ as well as the width specified at index +2+.
127
+ * +5+:: The bottom-aligned Y-coordinate or +null+ if the view is
128
+ * top-aligned and using a top-aligned X-coordinate at
129
+ * index +1+ as well as the height specified at index +3+.
130
+ * == Usage examples of +_rect+:
131
+ * Specified as two instances of +HPoint+,
132
+ * x: 23, y: 75, width: 200, height: 100:
133
+ * HRect.nu( HPoint.nu( 23, 75 ), HPoint.nu( 223, 175 ) )
134
+ *
135
+ * The same as above, but without +HPoint+ instances:
136
+ * HRect.nu( 23, 75, 223, 175 )
137
+ *
138
+ * The same as above, but with an array as the constructor
139
+ * parameter for +HRect+:
140
+ * HRect.nu( [ 23, 75, 223, 175 ] )
141
+ *
142
+ * The same as above, but with an array instead of a +HRect+ instance:
143
+ * [ 23, 75, 200, 100 ]
144
+ *
145
+ * The same as above, but with a 6-item array:
146
+ * [ 23, 75, 200, 100, null, null ]
147
+ *
148
+ * The same as above, but aligned to the right instead of left:
149
+ * [ null, 75, 200, 100, 23, null ]
150
+ *
151
+ * The same as above, but aligned to the right/bottom edges:
152
+ * [ null, null, 200, 100, 23, 75 ]
153
+ *
154
+ * The same as above, but aligned to the left/bottom edges:
155
+ * [ 23, null, 200, 100, null, 75 ]
156
+ *
157
+ * Flexible width (based on the parent's dimensions):
158
+ * [ 23, 75, null, 100, 23, null ]
159
+ *
160
+ * Flexible height (based on the parent's dimensions):
161
+ * [ 23, 75, 200, null, null, 75 ]
162
+ *
163
+ * Flexible width and height (based on the parent's dimensions):
164
+ * [ 23, 75, null, null, 23, 75 ]
165
+ *
166
+ * Flexible width and height, but limited to a minimum width
167
+ * of 200 and a minimum height of 100 (based on the parent's dimensions):
168
+ * [ 23, 75, 200, 100, 23, 75 ]
169
+ *
170
+ * == The +_options+ Object, all options are optional and default to what's
171
+ * defined in +controlDefaults+.
172
+ * Key:: Description
173
+ * +value+:: The initial value of the component. It's type and meaning
174
+ * differs between components.
175
+ * +valueObj+:: An HValue instance to bind immediately. The value of the
176
+ * HValue instance overrides the +value+ option.
177
+ * +label+:: The label of the component. It's usually a text (or html)
178
+ * String. Its meaning differs between components.
179
+ * See +#setLabel+ and +#refreshLabel+
180
+ * +visible+:: A Boolean value defining the initial visibility of the
181
+ * component. A true value means visible and false means
182
+ * hidden.
183
+ * +events+:: An Object containing the events to listen to.
184
+ * See setEvents and EVENT
185
+ * +enabled+:: A Boolean value defining the initial enabled -state
186
+ * of the component. Set to false to initially disable the
187
+ * component. See setEnabled
188
+ * +active+:: A Boolean value defining the initial active (clicked
189
+ * or focused) state of the component.
190
+ * +minValue+:: A Number for components utilizing value ranges.
191
+ * See setValueRange
192
+ * +maxValue+:: A Number for components utilizing value ranges.
193
+ * See setValueRange
194
+ *
195
+ *
196
+ **/
197
+ constructor: function(_rect, _parent, _options) {
198
+ if(!_options) {
199
+ _options = {};
200
+ }
201
+ var _this = this;
202
+
203
+ _options = (_this.controlDefaults.extend(_options)).nu(this);
204
+
205
+ if(_this.isinherited) {
206
+ _this.base(_rect, _parent, _options);
207
+ }
208
+ else {
209
+ _this.isinherited = true;
210
+ _this.base(_rect, _parent, _options);
211
+ _this.isinherited = false;
212
+ }
213
+
214
+ var _isValueRange = (_options.minValue || _options.maxValue),
215
+ _events = _options.events;
216
+
217
+ if(_isValueRange) {
218
+ _this.minValue = _options.minValue;
219
+ _this.maxValue = _options.maxValue;
220
+ }
221
+
222
+ _this.setEvents(_events);
223
+ _this.setEnabled(_options.enabled);
224
+
225
+ if(_options.valueObj){
226
+ _options.valueObj.bind(_this);
227
+ }
228
+ else if(!_this.valueObj) {
229
+ _this.valueObj = HDummyValue.nu();
230
+ }
231
+
232
+ if((_this.value===null)&&(_options.value!==undefined)) {
233
+ _this.setValue(_options.value);
234
+ }
235
+ if(_isValueRange) {
236
+ _this.setValueRange(this.value, _options.minValue, _options.maxValue);
237
+ }
238
+ if(!_this.isinherited) {
239
+ _this.draw();
240
+ }
241
+ },
242
+
243
+ /** = Description
244
+ * The destructor of +HControl+ instances.
245
+ * Releases events and values before passing through to the base HView.die.
246
+ * Extend it, you you allocate new instance members that need to be
247
+ * deallocated upon destruction.
248
+ *
249
+ **/
250
+ die: function() {
251
+ var _this = this;
252
+ if(_this.valueObj){
253
+ _this.valueObj.unbind(_this);
254
+ _this.valueObj = null;
255
+ }
256
+ EVENT.unreg(_this);
257
+ _this.base();
258
+ },
259
+
260
+ /** = Description
261
+ * Assigns the object a new value range. Used for sliders, steppers etc. Calls
262
+ * setValue with the value given.
263
+ *
264
+ * = Parameters
265
+ * +_value+:: The new value to be set to the component's
266
+ * HValue compatible instance.
267
+ *
268
+ * +_minValue+:: The new minimum value limit. See minValue.
269
+ *
270
+ * +_maxValue+:: The new maximum value limit. See maxValue.
271
+ *
272
+ * = Returns
273
+ * +self+
274
+ *
275
+ **/
276
+ setValueRange: function(_value, _minValue, _maxValue) {
277
+ this.minValue = _minValue;
278
+ this.maxValue = _maxValue;
279
+ _value = (_value < _minValue) ? _minValue : _value;
280
+ _value = (_value > _maxValue) ? _maxValue : _value;
281
+ this.setValue(_value);
282
+ return this;
283
+ },
284
+
285
+ /** = Description
286
+ * Called when the +self.value+ has been changed. By default
287
+ * tries to update the value element defined in the theme of
288
+ * the component. Of course, the HControl itself doesn't
289
+ * define a theme, so without a theme doesn't do anything.
290
+ *
291
+ * = Returns
292
+ * +self+
293
+ *
294
+ **/
295
+ refreshValue: function(){
296
+ if(this.markupElemIds){
297
+ if(this.markupElemIds['value']){
298
+ ELEM.setHTML(this.markupElemIds.value,this.value);
299
+ }
300
+ }
301
+ return this;
302
+ },
303
+
304
+ /** = Description
305
+ * Called mostly internally whenever a property change requires usually visual
306
+ * action. It's called by methods like setLabel and setValue.
307
+ * Extends HView.refresh. The boolean properties refreshOnValueChange and
308
+ * refreshOnLabelChange control whether refreshValue or refreshLabel
309
+ * should be called. It's used as-is in most components. If you implement
310
+ * your class extension with properties similar to value or label,
311
+ * you are advised to extend the refresh method.
312
+ *
313
+ * = Returns
314
+ * +self+
315
+ *
316
+ **/
317
+ refresh: function(){
318
+ this.base();
319
+ if(this.drawn){
320
+ if(this.refreshOnValueChange){
321
+ this.refreshValue();
322
+ }
323
+ }
324
+ return this;
325
+ }
326
+ },
327
+
328
+ {
329
+
330
+ // The CSS class name to set when the component is disabled
331
+ CSS_DISABLED: "disabled",
332
+
333
+ // The CSS class name to set when the component is enabled
334
+ CSS_ENABLED: "enabled",
335
+
336
+ // The CSS class name to set when the component is active (clicked/focused)
337
+ CSS_ACTIVE: "active"
338
+
339
+ });
340
+
341
+ HControl.implement( HValueResponder );
342
+ HControl.implement( HEventResponder );
@@ -0,0 +1,59 @@
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
+ ** Define default setting here. Will be used, when no or invalid constructor
11
+ ** options are supplied.
12
+ ***/
13
+ HControlDefaults = HClass.extend({
14
+
15
+ /** The default label. A label is the "visual value" of a component that
16
+ * operates on a "hidden" value.
17
+ **/
18
+ label: "",
19
+
20
+ /** The default initial visibility of the component.
21
+ **/
22
+ visible: true,
23
+
24
+ /** The default initial event responders to register to a component.
25
+ * By default no events are enabled.
26
+ **/
27
+ events: null,
28
+
29
+ constructor: function(){
30
+ if(!this.events){
31
+ this.events = {};
32
+ }
33
+ },
34
+
35
+ /** The default initial value of the component.
36
+ **/
37
+ value: 0,
38
+
39
+ /** The default initial enabled state of the component.
40
+ **/
41
+ enabled: true,
42
+
43
+ /** The default initial active state of the component.
44
+ **/
45
+ active: false,
46
+
47
+ /** The default initial minimum value of the component.
48
+ **/
49
+ minValue: -2147483648,
50
+
51
+ /** The default initial maximum value of the component.
52
+ **/
53
+ maxValue: 2147483648
54
+
55
+ });
56
+
57
+ // Alias for backwards-compatibility.
58
+ HComponentDefaults = HControlDefaults;
59
+
File without changes
@@ -0,0 +1,50 @@
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
+ ** A HDummyValue is just a placeholder for HValue values. HDummyValue
11
+ ** is a light-weight alternative that doesn't implement any actual HValue
12
+ ** functionality, but implements the essential methods and keeps the HControl
13
+ ** content when an actual HValue instance isn't bound.
14
+ ** It's the default valueObj type for components not bound to real HValue instances.
15
+ ***/
16
+ HDummyValue = HClass.extend({
17
+
18
+ /** = Description
19
+ * HDummyValue is initialized just like a real HValue.
20
+ *
21
+ * = Parameters
22
+ * +_id+:: Any string or integer, just a placeholder for HValue.id
23
+ * +_value+:: Any valid js object, just as for HValue.value
24
+ *
25
+ **/
26
+ constructor: function(_id, _value) {
27
+ this.id = _id;
28
+ this.value = _value;
29
+ },
30
+
31
+ /** Sets a new instance payload value.
32
+ **/
33
+ set: function(_value) {
34
+ this.value = _value;
35
+ },
36
+
37
+ /** Returns the instance payload value.
38
+ **/
39
+ get: function() {
40
+ return this.value;
41
+ },
42
+
43
+ /** Binds HControl, does actually nothing.
44
+ **/
45
+ bind: function( _theObj ){},
46
+
47
+ /** Unbinds (releases) HControl, does actually nothing.
48
+ **/
49
+ unbind: function( _theObj ){}
50
+ });