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,191 +0,0 @@
1
- #
2
- # window.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/view'
28
-
29
- module CherryKit
30
-
31
- # A window is used for the root window, menu or panel on screen. Unlike Cocoa
32
- # it inherits from the View class. Essentially windows are just views, but
33
- # they include extra methods for attaching themselves onto the DOM and for
34
- # orchestrating event delegation and routing
35
- #
36
- class Window < View
37
-
38
- def initialize(layout)
39
- super
40
- # an array of all the views which require displaying
41
- @views_needing_display = []
42
- # a window's window is always itself
43
- @window = self
44
- # default first responder is the window itself
45
- @first_responder = self
46
- # puts "normal initializer for window!"
47
- end
48
-
49
- def show
50
- # mark ourself as needing display
51
- self.needs_display = true
52
-
53
- # append_to Browser::Element.body
54
- end
55
-
56
- class_names 'ck-window'
57
-
58
- # Insert the window into the given element
59
- #
60
- # @param {Browser::Element} element the element to append into
61
- # @returns {CherryKit::Window} self
62
- #
63
- def append_to(base_element)
64
- # make sure our render context is already created
65
- render_context = create_render_context
66
-
67
- # puts "finished create_render_context:"
68
- base_element << render_context.element
69
-
70
- # puts "now need to make all subviews"
71
- end
72
-
73
- # Mark the given view as needing display. This view should be in this
74
- # window's hierarchy. The view will be displayed at the end of the next
75
- # event loop. If a view is marked as needing display more than once during
76
- # an event loop, it will be only actually rendererd once.
77
- #
78
- # @param {CherryKit::View} view that requires display
79
- #
80
- def mark_view_for_display(view)
81
- # puts "mark_view_for_display(#{view})"
82
- # do not re-add it if we already have it as needing display
83
- unless @views_needing_display.include? view
84
- # puts "yeap, adding it"
85
- @views_needing_display << view
86
- `console.log(#{ @views_needing_display});`
87
- end
88
- end
89
-
90
- # NEVER invoke this method directly
91
- def display
92
- # super
93
- if @render_context
94
- update
95
- else
96
- render_context = create_render_context
97
- # first call .render(), then immediately update() it
98
- render render_context
99
- update
100
- # add to super
101
- append_to Browser::Element.body
102
- end
103
- # make sure we have a render context
104
- # unless render_context
105
- # append_to Browser::Element.body
106
- # end
107
-
108
- # puts "need to go through each view"
109
- # `console.log(#{@views_needing_display});`
110
- # now go through all our views that are marked for display (should be
111
- # all subviews if we just had to create a render context, otherwise it is
112
- # any view that has been updated)
113
- # @views_needing_display.each do |view|
114
- # puts "need to display view: #{view}"
115
- # end
116
-
117
- @subviews.each do |view|
118
- view.display
119
- end
120
- end
121
-
122
- # =================================
123
- # = Event delegation and handling =
124
- # =================================
125
-
126
- # Send event on
127
- #
128
- # @param {Browser::Event} event
129
- #
130
- def send_event(event)
131
-
132
- if event.type == :mouse_down
133
- # puts "need to send on mousedown from window"
134
- event.view.mouse_down event
135
- elsif event.type == :mouse_up
136
- # puts "need to "
137
- elsif event.type == :key_down
138
- # puts "about to send key_down"
139
- res = event.view.key_down event
140
- # puts "result is #{res}"
141
- return res
142
- elsif event.type == :key_up
143
- event.view.key_up event
144
- end
145
- # case :mousedown
146
-
147
- # event.view.mouse_down event
148
- end
149
-
150
- # Returns the first responder for the window
151
- def first_responder
152
- @first_responder
153
- end
154
-
155
- # Attempt to make the given responder the first responder.
156
- #
157
- # @param {CherryKit::Responder} responder to make first responder
158
- # @returns {true|false}
159
- #
160
- def make_first_responder?(responder)
161
- # return true if responder is already first responder
162
- return true if responder == @first_responder
163
- # return false if current first responder will not resign
164
- return false unless @first_responder.resign_first_responder?
165
- # set window as first respionder if the responder will not accept first
166
- # responder status
167
- if !responder.accepts_first_responder? || !responder.become_first_responder?
168
- @first_responder = self
169
- return false
170
- end
171
-
172
- # if all was ok, set first responder, and return true
173
- @first_responder = responder
174
- true
175
- end
176
-
177
- # ===============================
178
- # = Builder methods and support =
179
- # ===============================
180
-
181
- register_builder :window,
182
- :title => "Window"
183
-
184
- # Initialize from builder
185
- def initialize_from_builder(builder_options)
186
- # puts "initialzing in window!! builder style"
187
- initialize
188
- end
189
-
190
- end # Window
191
- end
@@ -1,23 +0,0 @@
1
- .ck-button {
2
- border: 1px #545454 solid;
3
- border-radius: 5px;
4
- -moz-border-radius: 5px;
5
- -webkit-border-radius: 5px;
6
- vertical-align: middle;
7
- background-color: rgb(230,230,230);
8
- }
9
-
10
- .ck-button.disabled {
11
- background-color: rgb(190,190,190);
12
- }
13
-
14
- .ck-button.highlighted {
15
- background-color: rgb(200, 200, 200);
16
- }
17
-
18
- .ck-button .label {
19
- text-align: center;
20
- position: relative;
21
- display: block;
22
- line-height: 22px;
23
- }
@@ -1,53 +0,0 @@
1
- /*
2
- * foundation.css
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
- body {
28
- top: 0px;
29
- right: 0px;
30
- bottom: 0px;
31
- left: 0px;
32
- position: absolute;
33
- margin: 0px;
34
- }
35
-
36
- .ck-view {
37
- position: absolute;
38
- font-family: Arial, Helvetica, sans-serif;
39
- font-size: 12px;
40
- line-height: 1.4;
41
- cursor: default;
42
- overflow: hidden;
43
- /* Three methods of stopping text selection across browsers */
44
- user-select: none;
45
- -khtml-user-select: none;
46
- -moz-user-select: -moz-none;
47
- }
48
-
49
- .ck-view body,
50
- .ck-view div {
51
- margin: 0px;
52
- padding: 0px;
53
- }
@@ -1,22 +0,0 @@
1
-
2
- .ck-scroll-view .horizontal {
3
- left: 5px;
4
- right: 5px;
5
- bottom: 5px;
6
- height: 5px;
7
-
8
- position: absolute;
9
- z-index: 2;
10
-
11
- }
12
-
13
- .ck-scroll-view .horizontal .scroller {
14
- width: 100%;
15
- left: 0%;
16
- height: 100%;
17
- background: black;
18
- border-radius: 4px;
19
- -webkit-border-radius: 4px;
20
- -moz-border-radius: 4px;
21
- position: absolute;
22
- }
@@ -1,3 +0,0 @@
1
- .ck-view.ck-scroll-view {
2
- background: rgb(220, 220, 220);
3
- }
@@ -1,3 +0,0 @@
1
- .ck-view.ck-scroller {
2
- background: rgb(185, 185, 185);
3
- }
@@ -1,3 +0,0 @@
1
- .ck-view.ck-slider.regular {
2
-
3
- }
@@ -1,27 +0,0 @@
1
- .ck-slider {
2
- height: 16px;
3
- }
4
-
5
- .ck-slider .inner {
6
- position: absolute;
7
- left: 7px;
8
- right: 7px;
9
- height: 5px;
10
- top: 5px;
11
- background: rgb(160,160,160);
12
- border-radius: 3px;
13
- -webkit-border-radius: 3px;
14
- -moz-border-radius: 3px;
15
- }
16
-
17
- .ck-slider .handle {
18
- height: 14px;
19
- width: 14px;
20
- border-radius: 7px;
21
- -webkit-border-radius: 7px;
22
- -moz-border-radius: 7px;
23
- background: rgb(64, 64, 64);
24
- position: absolute;
25
- top: -4px;
26
- margin-left: -7px;
27
- }
@@ -1,3 +0,0 @@
1
- .ck-view.ck-outline-view {
2
- background: rgb(223, 227, 234);
3
- }
@@ -1,15 +0,0 @@
1
- /*.ck-view.ck-table-view .ck-view.selected {*/
2
- /* color: white;*/
3
- /*}*/
4
-
5
- /* Selected rows background */
6
- .ck-view.ck-table-view .rows .row.selected {
7
- background: rgb(127, 150, 185);
8
- }
9
-
10
- /* Grid lines */
11
- /*.ck-view.ck-table-view .rows .row {
12
- margin-top: -1px;
13
- border-bottom: 1px solid #999;
14
- }
15
- */
@@ -1,71 +0,0 @@
1
-
2
- .ck-view.ck-text-field {
3
- border: none;
4
- overflow: visible;
5
- background: white;
6
- }
7
-
8
- .ck-text-field .border {
9
- position: absolute;
10
- top: 0px;
11
- bottom: 0px;
12
- right: 0px;
13
- left: 0px;
14
- }
15
-
16
- /* safari */
17
- .safari .ck-text-field .border {
18
- -webkit-appearance: textfield;
19
- }
20
-
21
- /* internet explorer */
22
- .msie .ck-text-field .border {
23
- border: 1px inset;
24
- }
25
-
26
- .ck-text-field .padding {
27
- position: absolute;
28
- top: 0px;
29
- bottom: 0px;
30
- right: 3px;
31
- left: 3px;
32
- }
33
-
34
- .ck-text-field input {
35
- position: absolute;
36
- top: 0px;
37
- bottom: 0px;
38
- right: 0px;
39
- left: 0px;
40
- width: 100%;
41
- height: 100%;
42
- display: block;
43
- vertical-align: middle;
44
- background: transparent;
45
- line-height: 100%;
46
- }
47
-
48
- .msie .ck-text-field input {
49
- padding-bottom: 1px;
50
- }
51
-
52
- /* safari */
53
- .ck-text-field input {
54
- border: none;
55
- outline: none;
56
- -webkit-appearance: none;
57
- }
58
-
59
-
60
- /* ========================= */
61
- /* = Rounded look and feel = */
62
- /* ========================= */
63
-
64
- .safari .ck-text-field.rounded .border {
65
- -webkit-appearance: searchfield;
66
- }
67
-
68
- .safari .ck-text-field.rounded .padding {
69
- left: 10px;
70
- right: 10px;
71
- }
@@ -1 +0,0 @@
1
- require 'foundation'
@@ -1,69 +0,0 @@
1
-
2
- class KVCTest
3
-
4
- def initialize
5
- @ivar_key_name = 300
6
- end
7
-
8
- def first_key
9
- 100
10
- end
11
-
12
- def second_key?
13
- 200
14
- end
15
-
16
- end
17
-
18
- describe "Attributes#get_attribute" do
19
-
20
- it "should call the getter method if one exists" do
21
- t = KVCTest.new
22
- t.get_attribute('first_key').should == 100
23
- t.get_attribute(:first_key).should == 100
24
- end
25
-
26
- it "should call a designated boolean getter method if defined" do
27
- t = KVCTest.new
28
- t.get_attribute('second_key').should == 200
29
- t.get_attribute(:second_key).should == 200
30
- end
31
-
32
- it "should access an instance variable with the key name" do
33
- t = KVCTest.new
34
- t.get_attribute('ivar_key_name').should == 300
35
- t.get_attribute(:ivar_key_name).should == 300
36
- end
37
-
38
- it "should raise an error when the given key name cannot be found" do
39
- t = KVCTest.new
40
- t.get_attribute('unknown_key').should_raise
41
- end
42
-
43
- it "should always return nil when value_for_key is called on nil" do
44
- nil.get_attribute('some_key_name_which_will_not_exist').should == nil
45
- nil.get_attribute(:nil_key).should == nil
46
- end
47
- end
48
-
49
- describe "Hash KeyValueCoding#value_for_key" do
50
-
51
- it "should use string keys to access Hash keys and return their value" do
52
- hash = { 'first_name' => 100, 'second_name' => 200 }
53
- hash.get_attribute('first_name').should == 100
54
- hash.get_attribute('second_name').should == 200
55
- end
56
-
57
- it "should return the Hash default for unknown keys" do
58
- hash = {}
59
- hash.get_attribute('some_unknown_key').should == nil
60
- end
61
-
62
- it "should not treat symbols as string names for accessing keys" do
63
- hash = { :first_name => 100, 'second_name' => 200 }
64
- hash.get_attribute(:first_name).should == nil
65
- hash.get_attribute('second_name').should == 200
66
- hash.get_attribute(:second_name).should == 200
67
- end
68
- end
69
-