opal 0.1.0 → 0.2.0

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 (255) hide show
  1. data/.gitignore +0 -0
  2. data/.gitmodules +6 -0
  3. data/Opalfile +14 -1
  4. data/README.md +3 -44
  5. data/Rakefile +39 -131
  6. data/VERSION +1 -1
  7. data/extras/compiler.jar +0 -0
  8. data/gen/browser/__PROJECT_NAME__/Rakefile +12 -0
  9. data/gen/browser/__PROJECT_NAME__/index.html +1 -0
  10. data/gen/browser/__PROJECT_NAME__/javascripts/opal.debug.js +4687 -0
  11. data/gen/browser/__PROJECT_NAME__/javascripts/opal.min.js +175 -0
  12. data/lib/opal.rb +1 -0
  13. data/lib/opal/models/project.rb +45 -8
  14. data/lib/opal/opal/build.rb +169 -0
  15. data/lib/opal/opal/env/fs.rb +1 -1
  16. data/lib/opal/opal/environment.rb +2 -2
  17. data/lib/opal/opal/opal.rb +10 -3
  18. data/lib/opal/rake/opal_task.rb +34 -0
  19. data/opal.gemspec +260 -0
  20. data/opals/opal/README.md +37 -0
  21. data/opals/opal/Rakefile +1 -0
  22. data/opals/{browser → opal/browser}/Opalfile +0 -0
  23. data/opals/{browser → opal/browser}/README.md +0 -0
  24. data/opals/{browser → opal/browser}/SIZZLE_LICESNSE.txt +0 -0
  25. data/opals/{browser → opal/browser}/lib/browser.rb +0 -0
  26. data/opals/{browser → opal/browser}/lib/browser/builder.rb +0 -0
  27. data/opals/{browser → opal/browser}/lib/browser/canvas_context.rb +0 -0
  28. data/opals/{browser → opal/browser}/lib/browser/dimensions.rb +0 -0
  29. data/opals/{browser → opal/browser}/lib/browser/document.rb +0 -0
  30. data/opals/{browser → opal/browser}/lib/browser/element.rb +0 -0
  31. data/opals/{browser → opal/browser}/lib/browser/element/attributes.rb +0 -0
  32. data/opals/{browser → opal/browser}/lib/browser/element/css.rb +0 -0
  33. data/opals/{browser → opal/browser}/lib/browser/element/form.rb +0 -0
  34. data/opals/{browser → opal/browser}/lib/browser/event/dom_events.rb +0 -0
  35. data/opals/{browser → opal/browser}/lib/browser/event/event.rb +0 -0
  36. data/opals/{browser → opal/browser}/lib/browser/event/trigger_events.rb +0 -0
  37. data/opals/{browser → opal/browser}/lib/browser/geometry.rb +0 -0
  38. data/opals/{browser → opal/browser}/lib/browser/json.rb +0 -0
  39. data/opals/{browser → opal/browser}/lib/browser/json_parse.js +0 -0
  40. data/opals/{browser → opal/browser}/lib/browser/request/request.rb +0 -0
  41. data/opals/{browser → opal/browser}/lib/browser/sizzle.js +0 -0
  42. data/opals/{browser → opal/browser}/lib/browser/string.rb +0 -0
  43. data/opals/{browser → opal/browser}/lib/browser/touch.rb +0 -0
  44. data/opals/{browser → opal/browser}/lib/browser/vml_context.js +0 -0
  45. data/opals/{browser → opal/browser}/lib/browser/window.rb +0 -0
  46. data/opals/{browser → opal/browser}/spec/browser/browser_detection_spec.rb +0 -0
  47. data/opals/{browser → opal/browser}/spec/document/aref_spec.rb +0 -0
  48. data/opals/{browser → opal/browser}/spec/document/ready_spec.rb +0 -0
  49. data/opals/{browser → opal/browser}/spec/element/body_spec.rb +0 -0
  50. data/opals/{browser → opal/browser}/spec/element/clear_spec.rb +0 -0
  51. data/opals/{browser → opal/browser}/spec/element/empty_spec.rb +0 -0
  52. data/opals/{browser → opal/browser}/spec/element/has_class_spec.rb +0 -0
  53. data/opals/{browser → opal/browser}/spec/element/hidden_spec.rb +0 -0
  54. data/opals/{browser → opal/browser}/spec/element/hide_spec.rb +0 -0
  55. data/opals/{browser → opal/browser}/spec/element/remove_spec.rb +0 -0
  56. data/opals/{browser → opal/browser}/spec/element/show_spec.rb +0 -0
  57. data/opals/{browser → opal/browser}/spec/element/style_spec.rb +0 -0
  58. data/opals/{browser → opal/browser}/spec/element/toggle_spec.rb +0 -0
  59. data/opals/{browser → opal/browser}/spec/element/visible_spec.rb +0 -0
  60. data/opals/{browser → opal/browser}/spec/spec_helper.rb +0 -0
  61. data/opals/opal/{Opalfile → opal/Opalfile} +0 -0
  62. data/opals/opal/{spec → opal/spec}/core/array/append_spec.rb +0 -0
  63. data/opals/opal/{spec → opal/spec}/core/array/assoc_spec.rb +0 -0
  64. data/opals/opal/{spec → opal/spec}/core/array/at_spec.rb +0 -0
  65. data/opals/opal/{spec → opal/spec}/core/array/clear_spec.rb +0 -0
  66. data/opals/opal/{spec → opal/spec}/core/array/collect_bang_spec.rb +0 -0
  67. data/opals/opal/{spec → opal/spec}/core/array/collect_spec.rb +0 -0
  68. data/opals/opal/{spec → opal/spec}/core/array/compact_spec.rb +0 -0
  69. data/opals/opal/{spec → opal/spec}/core/array/concat_spec.rb +0 -0
  70. data/opals/opal/{spec → opal/spec}/core/array/constructor_spec.rb +0 -0
  71. data/opals/opal/{spec → opal/spec}/core/array/each_spec.rb +0 -0
  72. data/opals/opal/{spec → opal/spec}/core/array/element_reference_spec.rb +0 -0
  73. data/opals/opal/{spec → opal/spec}/core/array/first_spec.rb +0 -0
  74. data/opals/opal/{spec → opal/spec}/core/array/include_spec.rb +0 -0
  75. data/opals/opal/{spec → opal/spec}/core/array/map_spec.rb +0 -0
  76. data/opals/opal/{spec → opal/spec}/core/builtin_constants/builtin_constants_spec.rb +0 -0
  77. data/opals/opal/{spec → opal/spec}/core/false/and_spec.rb +0 -0
  78. data/opals/opal/{spec → opal/spec}/core/false/inspect_spec.rb +0 -0
  79. data/opals/opal/{spec → opal/spec}/core/false/or_spec.rb +0 -0
  80. data/opals/opal/{spec → opal/spec}/core/false/to_s_spec.rb +0 -0
  81. data/opals/opal/{spec → opal/spec}/core/false/xor_spec.rb +0 -0
  82. data/opals/opal/{spec → opal/spec}/core/file/join_spec.rb +0 -0
  83. data/opals/opal/{spec → opal/spec}/core/kernel/instance_eval_spec.rb +0 -0
  84. data/opals/opal/{spec → opal/spec}/core/kernel/loop_spec.rb +0 -0
  85. data/opals/opal/{spec → opal/spec}/core/kernel/raise_spec.rb +0 -0
  86. data/opals/opal/{spec → opal/spec}/core/module/attr_accessor_spec.rb +0 -0
  87. data/opals/opal/{spec → opal/spec}/core/number/lt_spec.rb +0 -0
  88. data/opals/opal/{spec → opal/spec}/core/true/and_spec.rb +0 -0
  89. data/opals/opal/{spec → opal/spec}/core/true/inspect_spec.rb +0 -0
  90. data/opals/opal/{spec → opal/spec}/core/true/or_spec.rb +0 -0
  91. data/opals/opal/{spec → opal/spec}/core/true/to_s_spec.rb +0 -0
  92. data/opals/opal/{spec → opal/spec}/core/true/xor_spec.rb +0 -0
  93. data/opals/opal/{spec → opal/spec}/fixtures/super.rb +0 -0
  94. data/opals/opal/{spec → opal/spec}/language/____temp_remove_this.rb +0 -0
  95. data/opals/opal/{spec → opal/spec}/language/and_spec.rb +0 -0
  96. data/opals/opal/{spec → opal/spec}/language/array_spec.rb +0 -0
  97. data/opals/opal/{spec → opal/spec}/language/block_spec.rb +0 -0
  98. data/opals/opal/{spec → opal/spec}/language/break_spec.rb +0 -0
  99. data/opals/opal/{spec → opal/spec}/language/case_spec.rb +0 -0
  100. data/opals/opal/{spec → opal/spec}/language/def_spec.rb +0 -0
  101. data/opals/opal/{spec → opal/spec}/language/eigenclass_spec.rb +0 -0
  102. data/opals/opal/{spec → opal/spec}/language/hash_spec.rb +0 -0
  103. data/opals/opal/{spec → opal/spec}/language/if_spec.rb +0 -0
  104. data/opals/opal/{spec → opal/spec}/language/loop_spec.rb +0 -0
  105. data/opals/opal/{spec → opal/spec}/language/metaclass_spec.rb +0 -0
  106. data/opals/opal/{spec → opal/spec}/language/method_spec.rb +0 -0
  107. data/opals/opal/{spec → opal/spec}/language/next_spec.rb +0 -0
  108. data/opals/opal/{spec → opal/spec}/language/or_spec.rb +0 -0
  109. data/opals/opal/{spec → opal/spec}/language/redo_spec.rb +0 -0
  110. data/opals/opal/{spec → opal/spec}/language/rescue_spec.rb +0 -0
  111. data/opals/opal/{spec → opal/spec}/language/return_spec.rb +0 -0
  112. data/opals/opal/{spec → opal/spec}/language/string_spec.rb +0 -0
  113. data/opals/opal/{spec → opal/spec}/language/super_spec.rb +0 -0
  114. data/opals/opal/{spec → opal/spec}/language/until_spec.rb +0 -0
  115. data/opals/opal/{spec → opal/spec}/language/while_spec.rb +0 -0
  116. data/opals/opal/{spec → opal/spec}/spec_helper.rb +0 -0
  117. data/opals/{runtime → opal/runtime}/Opalfile +10 -0
  118. data/opals/{runtime → opal/runtime}/README.md +0 -0
  119. data/opals/{runtime → opal/runtime}/docs/debugging.md +0 -0
  120. data/opals/{runtime → opal/runtime}/lib/array.rb +0 -0
  121. data/opals/{runtime → opal/runtime}/lib/basic_object.rb +0 -0
  122. data/opals/{runtime → opal/runtime}/lib/class.rb +0 -0
  123. data/opals/{runtime → opal/runtime}/lib/dir.rb +0 -0
  124. data/opals/{runtime → opal/runtime}/lib/error.rb +0 -0
  125. data/opals/{runtime → opal/runtime}/lib/false_class.rb +0 -0
  126. data/opals/{runtime → opal/runtime}/lib/file.rb +0 -0
  127. data/opals/{runtime → opal/runtime}/lib/hash.rb +0 -0
  128. data/opals/{runtime → opal/runtime}/lib/io.rb +0 -0
  129. data/opals/{runtime → opal/runtime}/lib/kernel.rb +0 -0
  130. data/opals/{runtime → opal/runtime}/lib/match_data.rb +0 -0
  131. data/opals/{runtime → opal/runtime}/lib/module.rb +0 -0
  132. data/opals/{runtime → opal/runtime}/lib/nil_class.rb +0 -0
  133. data/opals/{runtime → opal/runtime}/lib/number.rb +0 -0
  134. data/opals/{runtime → opal/runtime}/lib/proc.rb +0 -0
  135. data/opals/{runtime → opal/runtime}/lib/range.rb +0 -0
  136. data/opals/{runtime → opal/runtime}/lib/regexp.rb +0 -0
  137. data/opals/{runtime → opal/runtime}/lib/ruby.rb +0 -0
  138. data/opals/{runtime → opal/runtime}/lib/string.rb +0 -0
  139. data/opals/{runtime → opal/runtime}/lib/symbol.rb +0 -0
  140. data/opals/{runtime → opal/runtime}/lib/top_self.rb +0 -0
  141. data/opals/{runtime → opal/runtime}/lib/true_class.rb +0 -0
  142. data/opals/{runtime → opal/runtime}/runtime/browser.js +0 -0
  143. data/opals/{runtime → opal/runtime}/runtime/debug.js +0 -2
  144. data/opals/{runtime → opal/runtime}/runtime/opal.js +0 -2
  145. data/opals/{runtime → opal/runtime}/runtime/post_opal.js +0 -0
  146. data/opals/{runtime → opal/runtime}/runtime/pre_opal.js +0 -0
  147. data/opals/{runtime → opal/runtime}/runtime/server_side.js +0 -0
  148. data/opals/{spec → opal/spec}/LICENSE.txt +0 -0
  149. data/opals/{spec → opal/spec}/Opalfile +0 -0
  150. data/opals/{spec → opal/spec}/bin/spec.rb +0 -0
  151. data/opals/{spec → opal/spec}/lib/spec.rb +0 -0
  152. data/opals/{spec → opal/spec}/lib/spec/dsl.rb +0 -0
  153. data/opals/{spec → opal/spec}/lib/spec/example.rb +0 -0
  154. data/opals/{spec → opal/spec}/lib/spec/example/before_and_after_hooks.rb +0 -0
  155. data/opals/{spec → opal/spec}/lib/spec/example/errors.rb +0 -0
  156. data/opals/{spec → opal/spec}/lib/spec/example/example_group.rb +0 -0
  157. data/opals/{spec → opal/spec}/lib/spec/example/example_group_factory.rb +0 -0
  158. data/opals/{spec → opal/spec}/lib/spec/example/example_group_hierarchy.rb +0 -0
  159. data/opals/{spec → opal/spec}/lib/spec/example/example_group_methods.rb +0 -0
  160. data/opals/{spec → opal/spec}/lib/spec/example/example_group_proxy.rb +0 -0
  161. data/opals/{spec → opal/spec}/lib/spec/example/example_methods.rb +0 -0
  162. data/opals/{spec → opal/spec}/lib/spec/example/example_proxy.rb +0 -0
  163. data/opals/{spec → opal/spec}/lib/spec/expectations.rb +0 -0
  164. data/opals/{spec → opal/spec}/lib/spec/expectations/errors.rb +0 -0
  165. data/opals/{spec → opal/spec}/lib/spec/expectations/fail_with.rb +0 -0
  166. data/opals/{spec → opal/spec}/lib/spec/expectations/handler.rb +0 -0
  167. data/opals/{spec → opal/spec}/lib/spec/matchers.rb +0 -0
  168. data/opals/{spec → opal/spec}/lib/spec/matchers/be.rb +0 -0
  169. data/opals/{spec → opal/spec}/lib/spec/matchers/generated_descriptions.rb +0 -0
  170. data/opals/{spec → opal/spec}/lib/spec/matchers/operator_matcher.rb +0 -0
  171. data/opals/{spec → opal/spec}/lib/spec/runner.rb +0 -0
  172. data/opals/{spec → opal/spec}/lib/spec/runner/example_group_runner.rb +0 -0
  173. data/opals/{spec → opal/spec}/lib/spec/runner/formatter/html_formatter.rb +0 -0
  174. data/opals/{spec → opal/spec}/lib/spec/runner/formatter/terminal_formatter.rb +0 -0
  175. data/opals/{spec → opal/spec}/lib/spec/runner/options.rb +0 -0
  176. data/opals/{spec → opal/spec}/lib/spec/runner/reporter.rb +0 -0
  177. data/opals/{spec → opal/spec}/resources/index.html +0 -0
  178. data/opals/{spec → opal/spec}/resources/spec.css +0 -0
  179. metadata +170 -238
  180. data/opals/aristo/README.md +0 -16
  181. data/opals/cherry_kit/Opalfile +0 -6
  182. data/opals/cherry_kit/bin/cherry_kit.rb +0 -11
  183. data/opals/cherry_kit/lib/cherry_kit.rb +0 -29
  184. data/opals/foundation/Opalfile +0 -11
  185. data/opals/foundation/bin/foundation.rb +0 -12
  186. data/opals/foundation/lib/foundation.rb +0 -32
  187. data/opals/foundation/lib/foundation/__table_view_desktop/outline_view.rb +0 -57
  188. data/opals/foundation/lib/foundation/__table_view_desktop/table_column.rb +0 -59
  189. data/opals/foundation/lib/foundation/__table_view_desktop/table_header_view.rb +0 -34
  190. data/opals/foundation/lib/foundation/__table_view_desktop/table_view.rb +0 -304
  191. data/opals/foundation/lib/foundation/controllers/array_controller.rb +0 -54
  192. data/opals/foundation/lib/foundation/controllers/controller.rb +0 -74
  193. data/opals/foundation/lib/foundation/controllers/controller_selection_proxy.rb +0 -67
  194. data/opals/foundation/lib/foundation/controllers/object_controller.rb +0 -145
  195. data/opals/foundation/lib/foundation/controllers/view.rb +0 -40
  196. data/opals/foundation/lib/foundation/core/application.rb +0 -476
  197. data/opals/foundation/lib/foundation/core/attributes.rb +0 -146
  198. data/opals/foundation/lib/foundation/core/bindings.rb +0 -125
  199. data/opals/foundation/lib/foundation/core/builder.rb +0 -101
  200. data/opals/foundation/lib/foundation/core/event.rb +0 -112
  201. data/opals/foundation/lib/foundation/core/index_path.rb +0 -49
  202. data/opals/foundation/lib/foundation/core/index_set.rb +0 -97
  203. data/opals/foundation/lib/foundation/core/notification.rb +0 -113
  204. data/opals/foundation/lib/foundation/core/observable.rb +0 -275
  205. data/opals/foundation/lib/foundation/core/observable_array.rb +0 -30
  206. data/opals/foundation/lib/foundation/core/responder.rb +0 -85
  207. data/opals/foundation/lib/foundation/core/run_loop.rb +0 -89
  208. data/opals/foundation/lib/foundation/core/touch.rb +0 -95
  209. data/opals/foundation/lib/foundation/gestures/gesture_recognizer.rb +0 -35
  210. data/opals/foundation/lib/foundation/rendering/render_context.rb +0 -100
  211. data/opals/foundation/lib/foundation/rendering/renderer.rb +0 -137
  212. data/opals/foundation/lib/foundation/rendering/root_theme.rb +0 -77
  213. data/opals/foundation/lib/foundation/rendering/root_theme/button.rb +0 -62
  214. data/opals/foundation/lib/foundation/rendering/root_theme/control.rb +0 -72
  215. data/opals/foundation/lib/foundation/rendering/root_theme/label.rb +0 -54
  216. data/opals/foundation/lib/foundation/rendering/root_theme/scroller.rb +0 -58
  217. data/opals/foundation/lib/foundation/rendering/root_theme/slider.rb +0 -72
  218. data/opals/foundation/lib/foundation/rendering/root_theme/table_view.rb +0 -97
  219. data/opals/foundation/lib/foundation/rendering/root_theme/text_field.rb +0 -55
  220. data/opals/foundation/lib/foundation/rendering/root_theme/view.rb +0 -81
  221. data/opals/foundation/lib/foundation/rendering/theme.rb +0 -38
  222. data/opals/foundation/lib/foundation/table_view/cell.rb +0 -39
  223. data/opals/foundation/lib/foundation/table_view/table.rb +0 -171
  224. data/opals/foundation/lib/foundation/views/button.rb +0 -63
  225. data/opals/foundation/lib/foundation/views/checkbox.rb +0 -28
  226. data/opals/foundation/lib/foundation/views/clip.rb +0 -47
  227. data/opals/foundation/lib/foundation/views/control.rb +0 -199
  228. data/opals/foundation/lib/foundation/views/label.rb +0 -54
  229. data/opals/foundation/lib/foundation/views/scroll.rb +0 -294
  230. data/opals/foundation/lib/foundation/views/scroll_view_desktop.rb +0 -152
  231. data/opals/foundation/lib/foundation/views/scroller.rb +0 -54
  232. data/opals/foundation/lib/foundation/views/slider.rb +0 -93
  233. data/opals/foundation/lib/foundation/views/text_field.rb +0 -83
  234. data/opals/foundation/lib/foundation/views/view.rb +0 -426
  235. data/opals/foundation/lib/foundation/windows/window.rb +0 -191
  236. data/opals/foundation/resources/button/button.css +0 -23
  237. data/opals/foundation/resources/foundation.css +0 -53
  238. data/opals/foundation/resources/scroll/scroll.css +0 -22
  239. data/opals/foundation/resources/scroll_view/scroll_view.css +0 -3
  240. data/opals/foundation/resources/scroll_view/scroller.css +0 -3
  241. data/opals/foundation/resources/slider/regular/slider.css +0 -3
  242. data/opals/foundation/resources/slider/slider.css +0 -27
  243. data/opals/foundation/resources/table_view/outline_view.css +0 -3
  244. data/opals/foundation/resources/table_view/table_view.css +0 -15
  245. data/opals/foundation/resources/text_field/text_field.css +0 -71
  246. data/opals/foundation/spec/spec_helper.rb +0 -1
  247. data/opals/foundation/spec/system/attributes/get_attribute_spec.rb +0 -69
  248. data/opals/foundation/spec/system/attributes/get_path_spec.rb +0 -44
  249. data/opals/foundation/spec/system/attributes/set_path_spec.rb +0 -24
  250. data/opals/foundation/spec/system/attributes/set_spec.rb +0 -58
  251. data/opals/foundation/spec/system/bindings/bindings.rb +0 -85
  252. data/opals/foundation/spec/system/key_value_binding/bind_spec.rb +0 -43
  253. data/opals/foundation/spec/system/observable/dependant_keys_spec.rb +0 -74
  254. data/opals/foundation/spec/system/observable/observe_spec.rb +0 -292
  255. data/opals/foundation/spec/system/observable/remove_observer_spec.rb +0 -60
@@ -1,16 +0,0 @@
1
- Aristo is actually a theme, but kept here until build tools can look in a "themes/" directory for additonal themes.
2
-
3
- Aristo is the main theme for desktop applications for cherrykit. It is not the
4
- base or default theme, as the base_theme describes the base properties and
5
- settings for desktop apps.
6
-
7
- Original license/info:
8
-
9
- Aristo is an open source UI distributed as part of the Cappuccino Web Application Framework and specifically designed for the cross platform challenges applications face today. It is a collaborative effort by 280 North, Inc. and Sofa and released under the Creative Commons Attribution Share-Alike License.
10
-
11
- You can view this license here: http://creativecommons.org/licenses/by-sa/3.0/us/
12
-
13
- You can find out more about Aristo by visiting http://cappuccino.org/aristo.
14
-
15
- - 280 North, Inc., 280north.com
16
- - Sofa, madebysofa.com
@@ -1,6 +0,0 @@
1
- mode :all do
2
- config :cherry_kit,
3
-
4
- :required => [:foundation]
5
-
6
- end
@@ -1,11 +0,0 @@
1
- puts "running in bin!"
2
-
3
- require 'cherry_kit'
4
-
5
- require File.join(Dir.getwd, 'lib', 'app_controller')
6
-
7
- # Run the application! Make the App object, create an instance of the user's
8
- # application controller and set it as the delegate, and then "run baby run!"
9
- app = CherryKit::Application.new
10
- app.delegate = AppController.new
11
- app.run
@@ -1,29 +0,0 @@
1
- #
2
- # cherry_kit.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon.
6
- # Copyright 2010 Adam Beynon.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a copy
9
- # of this software and associated documentation files (the "Software"), to deal
10
- # in the Software without restriction, including without limitation the rights
11
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- # copies of the Software, and to permit persons to whom the Software is
13
- # furnished to do so, subject to the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be included in
16
- # all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- # THE SOFTWARE.
25
- #
26
-
27
- require 'foundation'
28
-
29
- puts "well, cherry kut"
@@ -1,11 +0,0 @@
1
- config :foundation,
2
- :required => [:opal, :browser]
3
-
4
- mode :spec do
5
- config :foundation,
6
-
7
- :lib_directories => ['lib', 'spec'],
8
- :bin_file => :spec
9
-
10
- end
11
-
@@ -1,12 +0,0 @@
1
- #
2
- # foundation.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon on 2010-07-21.
6
- # Copyright 2010 Adam Beynon. All rights reserved.
7
- #
8
-
9
- require 'foundation'
10
-
11
- # require our main application.rb file
12
- require File.join(Dir.getwd, 'lib', 'app_controller')
@@ -1,32 +0,0 @@
1
- #
2
- # foundation.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon.
6
- # Copyright 2010 Adam Beynon.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a copy
9
- # of this software and associated documentation files (the "Software"), to deal
10
- # in the Software without restriction, including without limitation the rights
11
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- # copies of the Software, and to permit persons to whom the Software is
13
- # furnished to do so, subject to the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be included in
16
- # all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- # THE SOFTWARE.
25
- #
26
- puts "well, foundation here init"
27
-
28
- require 'browser'
29
-
30
- Dir.glob('foundation/lib/**/*.rb').each do |rb|
31
- require rb
32
- end
@@ -1,57 +0,0 @@
1
- #
2
- # outline_view.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon.
6
- # Copyright 2010 Adam Beynon.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a copy
9
- # of this software and associated documentation files (the "Software"), to deal
10
- # in the Software without restriction, including without limitation the rights
11
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- # copies of the Software, and to permit persons to whom the Software is
13
- # furnished to do so, subject to the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be included in
16
- # all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- # THE SOFTWARE.
25
- #
26
-
27
- # require 'foundation/table_view/table_view'
28
- #
29
- # module CherryKit
30
- #
31
- # class OutlineView < TableView
32
- #
33
- # register_builder :outline_view, {}
34
- #
35
- # class_names 'ck-outline-view'
36
- #
37
- # def initialize(layout)
38
- # super layout
39
- # end
40
- #
41
- # def outline_table_column=(table_column)
42
- # return if @table_column == table_column
43
- #
44
- # @table_column = table_column
45
- #
46
- # reload_data
47
- # end
48
- #
49
- # def reload_data
50
- # reload_item nil, true
51
- # end
52
- #
53
- # def reload_item(item, children)
54
- #
55
- # end
56
- # end
57
- # end
@@ -1,59 +0,0 @@
1
- #
2
- # table_column.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon.
6
- # Copyright 2010 Adam Beynon.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a copy
9
- # of this software and associated documentation files (the "Software"), to deal
10
- # in the Software without restriction, including without limitation the rights
11
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- # copies of the Software, and to permit persons to whom the Software is
13
- # furnished to do so, subject to the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be included in
16
- # all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- # THE SOFTWARE.
25
- #
26
-
27
- module CherryKit
28
-
29
- class TableColumnDesktop
30
-
31
- attr_accessor :table_view
32
-
33
- attr_accessor :identifer
34
-
35
- def initialize(identifier)
36
- @identifier = nil
37
- self.data_view = Control.new
38
- end
39
-
40
- def hidden?
41
- false
42
- end
43
-
44
- def data_view=(data_view)
45
- return if @data_view == data_view
46
-
47
- @data_view = data_view
48
- end
49
-
50
- def data_view
51
- @data_view
52
- end
53
-
54
- def _create_data_view_for_row(row)
55
- data_view.dup
56
- # Slider.new
57
- end
58
- end
59
- end
@@ -1,34 +0,0 @@
1
- #
2
- # table_header_view.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon.
6
- # Copyright 2010 Adam Beynon.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a copy
9
- # of this software and associated documentation files (the "Software"), to deal
10
- # in the Software without restriction, including without limitation the rights
11
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- # copies of the Software, and to permit persons to whom the Software is
13
- # furnished to do so, subject to the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be included in
16
- # all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- # THE SOFTWARE.
25
- #
26
-
27
- # require 'foundation/table_view/table_view'
28
- #
29
- # module CherryKit
30
- #
31
- # class TableHeaderView < View
32
- #
33
- # end
34
- # end
@@ -1,304 +0,0 @@
1
- #
2
- # table_view.rb
3
- # vienna
4
- #
5
- # Created by Adam Beynon.
6
- # Copyright 2010 Adam Beynon.
7
- #
8
- # Permission is hereby granted, free of charge, to any person obtaining a copy
9
- # of this software and associated documentation files (the "Software"), to deal
10
- # in the Software without restriction, including without limitation the rights
11
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- # copies of the Software, and to permit persons to whom the Software is
13
- # furnished to do so, subject to the following conditions:
14
- #
15
- # The above copyright notice and this permission notice shall be included in
16
- # all copies or substantial portions of the Software.
17
- #
18
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- # THE SOFTWARE.
25
- #
26
-
27
- require 'foundation/views/control'
28
-
29
- module CherryKit
30
-
31
- class TableViewDesktop < Control
32
-
33
- class_names 'ck-table-view'
34
-
35
- def initialize(layout)
36
- super layout
37
- # default row height..get from theme?
38
- @row_height = 23
39
- @table_columns = []
40
- # views used for rendering cells. Hash of column => array of views
41
- @table_column_views = {}
42
- # default row indexes - none
43
- @selected_row_indexes = IndexSet.new
44
- # by default allow no row selection
45
- @allows_empty_selection = true
46
- # default single selection only
47
- @allows_multiple_selection = false
48
- # keep tabs on what needs drawing or updating
49
- @dirty_rows = []
50
- # keep tabs on what columns need drawing/updating
51
- @dirty_columns = []
52
- # the methods that data source has implemented
53
- @data_source_methods = []
54
- end
55
-
56
- # add table column
57
- def <<(column)
58
- @table_columns << column
59
- column.table_view = self
60
- self.needs_display = true
61
- end
62
-
63
- def remove_table_column(column)
64
- return unless column.table_view == self
65
- end
66
-
67
- # set all columns in one go
68
- #
69
- # @param {Array} columns
70
- #
71
- def table_columns=(columns)
72
- columns.each do |column|
73
- self << column
74
- end
75
- end
76
-
77
- def data_source=(data_source)
78
- return if @data_source == data_source
79
-
80
- @data_source = data_source
81
- @data_source_methods = []
82
-
83
- unless @data_source.respond_to? :number_of_rows_in_table_view
84
- raise "TableView delegate #{@data_source} does not respond to 'number_of_rows_in_table_view'"
85
- end
86
-
87
- unless @data_source.respond_to? :value_for_table_view_at
88
- raise "TableView delegate #{@data_source} does not respond to 'value_for_table_view_at'"
89
- end
90
-
91
- if @data_source.respond_to? :table_view_write_rows_to_pasteboard
92
- @data_source_methods << :table_view_write_rows_to_pasteboard
93
- end
94
-
95
- reload_data
96
- end
97
-
98
- def reload_data
99
- @reload_all_data = true
100
- note_number_of_rows_changed
101
- self.needs_display = true
102
- end
103
-
104
- def note_number_of_rows_changed
105
- @number_of_rows = nil
106
- @number_of_rows = number_of_rows
107
-
108
- # puts "no rows: #{@number_of_rows}"
109
- self.needs_display = true
110
- end
111
-
112
- def number_of_rows
113
- return @number_of_rows if @number_of_rows
114
-
115
- # data source for now
116
- if @data_source
117
- return @data_source.number_of_rows_in_table_view self
118
- end
119
-
120
- 0
121
- end
122
-
123
- def create_renderer(theme)
124
- theme.table_view self
125
- end
126
-
127
- def update_renderer
128
- super
129
-
130
- _update_render_rows
131
- end
132
-
133
- # Private method. Whenever we redisplay, this method is called to render
134
- # the rows for the table... if it needs it.
135
- #
136
- # If we do not need to reload all data, then only @dirty_rows will be
137
- # updated. Typically these are rows that either were selected, or ones that
138
- # are now selected.
139
- #
140
- def _update_render_rows
141
- # if everything must be reloaded..
142
- if @reload_all_data
143
- # completely re render
144
- _render_data_views_for
145
- @reload_all_data = false
146
- else
147
- # call this for all new rows.. or, call _update_data_views_for() for
148
- # rows that need update (were selected/no longer selected, or their data
149
- # changed etc)
150
- _update_data_views_for
151
- end
152
- end
153
-
154
- def _render_data_views_for(rows, columns)
155
- @table_columns.each do |column|
156
- # go through each table unless we should not render it (hidden)
157
- unless column.hidden?
158
- puts "need to render #{column}"
159
-
160
- @table_column_views[column] = @table_column_views[column] || []
161
-
162
- (0).upto(number_of_rows - 1) do |row|
163
- puts "need to render row #{row}"
164
- view = _create_data_view_for(row, column)
165
- frame = _frame_of_data_view_at(row, column)
166
- view.layout = {
167
- :left => frame.x,
168
- :top => frame.y,
169
- :width => frame.width,
170
- :height => frame.height
171
- }
172
- view.value = _table_data_value_for row, column
173
-
174
- view.selected = row_selected? row
175
-
176
- puts "view is #{view}"
177
-
178
- add_subview(view) unless view.superview == self
179
- # @table_column_data_views[table_column][row] = view
180
- end
181
- end
182
- end
183
- end
184
-
185
- def _update_data_views_for()
186
-
187
- end
188
-
189
- def _create_data_view_for(row, column)
190
- column._create_data_view_for_row row
191
- end
192
-
193
- def _frame_of_data_view_at(row, column)
194
- row_rect = rect_of_row row
195
- column_rect = rect_of_column column
196
-
197
- Rect.new column_rect.x, row_rect.y, column_rect.width, row_rect.height
198
- end
199
-
200
- def rect_of_row(row)
201
- Rect.new(0, row * @row_height, 200, @row_height)
202
- end
203
-
204
- def rect_of_column(column)
205
- Rect.new(@table_columns.index(column) * 100, 0, 100, 200)
206
- end
207
-
208
- def row_at_point(point)
209
- row = (point.y / @row_height).to_i
210
-
211
- `if (#{row} >= #{@number_of_rows}) {
212
- return #{nil};
213
- }
214
- return #{row};`
215
- end
216
-
217
- # Gets the data for the row at the given column (by data source, or by
218
- # bindings)
219
- def _table_data_value_for(row, column)
220
- @data_source.value_for_table_view_at row, column
221
- end
222
-
223
- def start_tracking?(location)
224
- row = row_at_point location
225
-
226
- @start_tracking_location = location
227
- # @start_tracking_time = Time.now
228
-
229
- if @allows_empty_selection && row == nil
230
- select_row_indexes IndexSet.new, false
231
- end
232
-
233
- # send a note that we are changing selection
234
- notify :table_view_selection_is_changing
235
-
236
- # if we have a row, select it
237
- if row && !@data_source_methods.include?(:table_view_write_rows_to_pasteboard)
238
- # puts "need to _update)wutg_selection"
239
- _update_with_selection_at_row row
240
- end
241
- end
242
-
243
- def stop_tracking(location)
244
- puts "stop trackinhg.. tableview"
245
- end
246
-
247
- def continue_tracking?(location)
248
- row = row_at_point location
249
- end
250
-
251
- # mouse event has caused us to select the given row (mouse is there now)
252
- def _update_with_selection_at_row(row)
253
- return unless row
254
-
255
- if @allows_multiple_selection
256
- puts "allows multiple selection!"
257
- indexes = @selected_row_indexes
258
- indexes.add_index row
259
- elsif row < @number_of_rows
260
- # single selection only, so set our selection indexes to just this row -
261
- # only if row exists (< number_of_rows)
262
- indexes = IndexSet.new row
263
- else
264
- puts "deselect all rows!"
265
- end
266
-
267
- # if our selection hasnt actually changed, lets ignore
268
- return if @selected_row_indexes == indexes
269
-
270
- return if !@allows_empty_selection && indexes.count == 0
271
-
272
- select_row_indexes indexes, false
273
- end
274
-
275
- def select_row_indexes(indexes, extend_selection)
276
- if extend_selection
277
- new_indexes = @selected_row_indexes.dup
278
- new_indexes.add_indexes indexes
279
- else
280
- new_indexes = indexes.dup
281
- end
282
-
283
- self._selected_row_indexes = new_indexes
284
- end
285
-
286
- def _selected_row_indexes=(indexes)
287
- old_indexes = @selected_row_indexes.dup
288
- puts "setting indexes #{indexes.length}"
289
- @selected_row_indexes = indexes
290
- self.needs_display = true
291
- end
292
-
293
- # Returns whether or not the given row index is selected
294
- #
295
- # @param {Number} index to check
296
- # @returns {true|false}
297
- #
298
- def row_selected?(index)
299
- @selected_row_indexes.include? index
300
- # true
301
- end
302
-
303
- end
304
- end