opal 0.0.1 → 0.1.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.
- data/.gitignore +10 -1
- data/.gitmodules +0 -0
- data/Opalfile +371 -0
- data/README.md +45 -0
- data/Rakefile +237 -34
- data/VERSION +1 -1
- data/bin/opal +13 -0
- data/demos/apps/browser_demo/index.html +11 -0
- data/demos/apps/browser_demo/lib/browser_demo.rb +31 -0
- data/demos/apps/simple_opal/Opalfile +13 -0
- data/demos/apps/simple_opal/index.html +11 -0
- data/demos/apps/simple_opal/lib/app_controller.rb +62 -0
- data/demos/apps/simple_opal/lib/main_window.rb +146 -0
- data/demos/browser/request/index.html +52 -0
- data/demos/browser/request/request.rb +48 -0
- data/gen/browser/__PROJECT_NAME__/index.html +10 -0
- data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +1 -0
- data/lib/opal.rb +48 -3
- data/lib/opal/builders/base.rb +50 -0
- data/lib/opal/builders/css.rb +46 -0
- data/lib/opal/builders/javascript.rb +44 -0
- data/lib/opal/builders/opal.rb +79 -0
- data/lib/opal/builders/ruby.rb +50 -0
- data/lib/opal/builders/ruby/generate.rb +1851 -0
- data/lib/opal/builders/ruby/nodes.rb +210 -0
- data/lib/opal/builders/ruby/ruby.rb +916 -0
- data/lib/opal/builders/ruby/ruby_parser.rb +6008 -0
- data/lib/opal/builders/ruby/ruby_parser.rb.y +1451 -0
- data/lib/opal/models/build_item.rb +104 -0
- data/lib/opal/models/hash_struct.rb +40 -0
- data/lib/opal/models/project.rb +215 -0
- data/lib/opal/models/struct_accessors.rb +58 -0
- data/lib/opal/models/target.rb +176 -0
- data/lib/opal/opal/env/console.rb +66 -0
- data/lib/opal/opal/env/fs.rb +98 -0
- data/lib/opal/opal/env/object.rb +48 -0
- data/lib/opal/opal/environment.rb +139 -0
- data/lib/opal/opal/gen.rb +62 -0
- data/lib/opal/opal/opal.rb +68 -0
- data/lib/opal/opal/repl.rb +38 -0
- data/lib/opal/opalfile/dsl.rb +62 -0
- data/lib/opal/opalfile/opalfile.rb +133 -0
- data/lib/opal/opalfile/task.rb +96 -0
- data/lib/opal/opalfile/task_manager.rb +63 -0
- data/lib/opal/opalfile/task_scope.rb +52 -0
- data/lib/opal/rack/app_server.rb +119 -0
- data/opals/aristo/README.md +16 -0
- data/opals/browser/Opalfile +11 -0
- data/opals/browser/README.md +146 -0
- data/opals/browser/SIZZLE_LICESNSE.txt +148 -0
- data/opals/browser/lib/browser.rb +118 -0
- data/opals/browser/lib/browser/builder.rb +41 -0
- data/opals/browser/lib/browser/canvas_context.rb +115 -0
- data/opals/browser/lib/browser/dimensions.rb +50 -0
- data/opals/browser/lib/browser/document.rb +146 -0
- data/opals/browser/lib/browser/element.rb +487 -0
- data/opals/browser/lib/browser/element/attributes.rb +88 -0
- data/opals/browser/lib/browser/element/css.rb +290 -0
- data/opals/browser/lib/browser/element/form.rb +146 -0
- data/opals/browser/lib/browser/event/dom_events.rb +81 -0
- data/opals/browser/lib/browser/event/event.rb +177 -0
- data/opals/browser/lib/browser/event/trigger_events.rb +53 -0
- data/opals/browser/lib/browser/geometry.rb +97 -0
- data/opals/browser/lib/browser/json.rb +32 -0
- data/opals/browser/lib/browser/json_parse.js +321 -0
- data/opals/browser/lib/browser/request/request.rb +201 -0
- data/opals/browser/lib/browser/sizzle.js +1068 -0
- data/opals/browser/lib/browser/string.rb +42 -0
- data/opals/browser/lib/browser/touch.rb +37 -0
- data/{runtime/yaml.js → opals/browser/lib/browser/vml_context.js} +8 -8
- data/opals/browser/lib/browser/window.rb +36 -0
- data/opals/browser/spec/browser/browser_detection_spec.rb +7 -0
- data/opals/browser/spec/document/aref_spec.rb +110 -0
- data/opals/browser/spec/document/ready_spec.rb +16 -0
- data/opals/browser/spec/element/body_spec.rb +11 -0
- data/opals/browser/spec/element/clear_spec.rb +26 -0
- data/opals/browser/spec/element/empty_spec.rb +29 -0
- data/opals/browser/spec/element/has_class_spec.rb +40 -0
- data/opals/browser/spec/element/hidden_spec.rb +23 -0
- data/opals/browser/spec/element/hide_spec.rb +31 -0
- data/opals/browser/spec/element/remove_spec.rb +25 -0
- data/opals/browser/spec/element/show_spec.rb +31 -0
- data/opals/browser/spec/element/style_spec.rb +69 -0
- data/opals/browser/spec/element/toggle_spec.rb +31 -0
- data/opals/browser/spec/element/visible_spec.rb +23 -0
- data/opals/browser/spec/spec_helper.rb +1 -0
- data/opals/cherry_kit/Opalfile +6 -0
- data/opals/cherry_kit/bin/cherry_kit.rb +11 -0
- data/opals/cherry_kit/lib/cherry_kit.rb +29 -0
- data/opals/foundation/Opalfile +11 -0
- data/opals/foundation/bin/foundation.rb +12 -0
- data/opals/foundation/lib/foundation.rb +32 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/outline_view.rb +57 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/table_column.rb +59 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/table_header_view.rb +34 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/table_view.rb +304 -0
- data/opals/foundation/lib/foundation/controllers/array_controller.rb +54 -0
- data/opals/foundation/lib/foundation/controllers/controller.rb +74 -0
- data/opals/foundation/lib/foundation/controllers/controller_selection_proxy.rb +67 -0
- data/opals/foundation/lib/foundation/controllers/object_controller.rb +145 -0
- data/opals/foundation/lib/foundation/controllers/view.rb +40 -0
- data/opals/foundation/lib/foundation/core/application.rb +476 -0
- data/opals/foundation/lib/foundation/core/attributes.rb +146 -0
- data/opals/foundation/lib/foundation/core/bindings.rb +125 -0
- data/opals/foundation/lib/foundation/core/builder.rb +101 -0
- data/opals/foundation/lib/foundation/core/event.rb +112 -0
- data/opals/foundation/lib/foundation/core/index_path.rb +49 -0
- data/opals/foundation/lib/foundation/core/index_set.rb +97 -0
- data/opals/foundation/lib/foundation/core/notification.rb +113 -0
- data/opals/foundation/lib/foundation/core/observable.rb +275 -0
- data/opals/foundation/lib/foundation/core/observable_array.rb +30 -0
- data/opals/foundation/lib/foundation/core/responder.rb +85 -0
- data/opals/foundation/lib/foundation/core/run_loop.rb +89 -0
- data/opals/foundation/lib/foundation/core/touch.rb +95 -0
- data/opals/foundation/lib/foundation/gestures/gesture_recognizer.rb +35 -0
- data/opals/foundation/lib/foundation/rendering/render_context.rb +100 -0
- data/opals/foundation/lib/foundation/rendering/renderer.rb +137 -0
- data/opals/foundation/lib/foundation/rendering/root_theme.rb +77 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/button.rb +62 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/control.rb +72 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/label.rb +54 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/scroller.rb +58 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/slider.rb +72 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/table_view.rb +97 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/text_field.rb +55 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/view.rb +81 -0
- data/opals/foundation/lib/foundation/rendering/theme.rb +38 -0
- data/opals/foundation/lib/foundation/table_view/cell.rb +39 -0
- data/opals/foundation/lib/foundation/table_view/table.rb +171 -0
- data/opals/foundation/lib/foundation/views/button.rb +63 -0
- data/opals/foundation/lib/foundation/views/checkbox.rb +28 -0
- data/opals/foundation/lib/foundation/views/clip.rb +47 -0
- data/opals/foundation/lib/foundation/views/control.rb +199 -0
- data/opals/foundation/lib/foundation/views/label.rb +54 -0
- data/opals/foundation/lib/foundation/views/scroll.rb +294 -0
- data/opals/foundation/lib/foundation/views/scroll_view_desktop.rb +152 -0
- data/opals/foundation/lib/foundation/views/scroller.rb +54 -0
- data/opals/foundation/lib/foundation/views/slider.rb +93 -0
- data/opals/foundation/lib/foundation/views/text_field.rb +83 -0
- data/opals/foundation/lib/foundation/views/view.rb +426 -0
- data/opals/foundation/lib/foundation/windows/window.rb +191 -0
- data/opals/foundation/resources/button/button.css +23 -0
- data/{runtime/init.js → opals/foundation/resources/foundation.css} +27 -33
- data/opals/foundation/resources/scroll/scroll.css +22 -0
- data/opals/foundation/resources/scroll_view/scroll_view.css +3 -0
- data/opals/foundation/resources/scroll_view/scroller.css +3 -0
- data/opals/foundation/resources/slider/regular/slider.css +3 -0
- data/opals/foundation/resources/slider/slider.css +27 -0
- data/opals/foundation/resources/table_view/outline_view.css +3 -0
- data/opals/foundation/resources/table_view/table_view.css +15 -0
- data/opals/foundation/resources/text_field/text_field.css +71 -0
- data/opals/foundation/spec/spec_helper.rb +1 -0
- data/opals/foundation/spec/system/attributes/get_attribute_spec.rb +69 -0
- data/opals/foundation/spec/system/attributes/get_path_spec.rb +44 -0
- data/opals/foundation/spec/system/attributes/set_path_spec.rb +24 -0
- data/opals/foundation/spec/system/attributes/set_spec.rb +58 -0
- data/opals/foundation/spec/system/bindings/bindings.rb +85 -0
- data/opals/foundation/spec/system/key_value_binding/bind_spec.rb +43 -0
- data/opals/foundation/spec/system/observable/dependant_keys_spec.rb +74 -0
- data/opals/foundation/spec/system/observable/observe_spec.rb +292 -0
- data/opals/foundation/spec/system/observable/remove_observer_spec.rb +60 -0
- data/opals/opal/Opalfile +14 -0
- data/opals/opal/spec/core/array/append_spec.rb +30 -0
- data/opals/opal/spec/core/array/assoc_spec.rb +29 -0
- data/opals/opal/spec/core/array/at_spec.rb +37 -0
- data/opals/opal/spec/core/array/clear_spec.rb +22 -0
- data/opals/opal/spec/core/array/collect_bang_spec.rb +27 -0
- data/opals/opal/spec/core/array/collect_spec.rb +27 -0
- data/opals/opal/spec/core/array/compact_spec.rb +15 -0
- data/opals/opal/spec/core/array/concat_spec.rb +15 -0
- data/opals/opal/spec/core/array/constructor_spec.rb +14 -0
- data/opals/opal/spec/core/array/each_spec.rb +9 -0
- data/opals/opal/spec/core/array/element_reference_spec.rb +4 -0
- data/opals/opal/spec/core/array/first_spec.rb +35 -0
- data/opals/opal/spec/core/array/include_spec.rb +9 -0
- data/opals/opal/spec/core/array/map_spec.rb +31 -0
- data/opals/opal/spec/core/builtin_constants/builtin_constants_spec.rb +7 -0
- data/opals/opal/spec/core/false/and_spec.rb +10 -0
- data/opals/opal/spec/core/false/inspect_spec.rb +6 -0
- data/opals/opal/spec/core/false/or_spec.rb +10 -0
- data/opals/opal/spec/core/false/to_s_spec.rb +6 -0
- data/opals/opal/spec/core/false/xor_spec.rb +10 -0
- data/opals/opal/spec/core/file/join_spec.rb +19 -0
- data/opals/opal/spec/core/kernel/instance_eval_spec.rb +0 -0
- data/opals/opal/spec/core/kernel/loop_spec.rb +24 -0
- data/opals/opal/spec/core/kernel/raise_spec.rb +0 -0
- data/opals/opal/spec/core/module/attr_accessor_spec.rb +28 -0
- data/opals/opal/spec/core/number/lt_spec.rb +12 -0
- data/opals/opal/spec/core/true/and_spec.rb +10 -0
- data/opals/opal/spec/core/true/inspect_spec.rb +6 -0
- data/opals/opal/spec/core/true/or_spec.rb +10 -0
- data/opals/opal/spec/core/true/to_s_spec.rb +6 -0
- data/opals/opal/spec/core/true/xor_spec.rb +10 -0
- data/opals/opal/spec/fixtures/super.rb +70 -0
- data/opals/opal/spec/language/____temp_remove_this.rb +12 -0
- data/opals/opal/spec/language/and_spec.rb +62 -0
- data/opals/opal/spec/language/array_spec.rb +52 -0
- data/opals/opal/spec/language/block_spec.rb +18 -0
- data/opals/opal/spec/language/break_spec.rb +36 -0
- data/opals/opal/spec/language/case_spec.rb +103 -0
- data/opals/opal/spec/language/def_spec.rb +11 -0
- data/opals/opal/spec/language/eigenclass_spec.rb +60 -0
- data/opals/opal/spec/language/hash_spec.rb +29 -0
- data/opals/opal/spec/language/if_spec.rb +54 -0
- data/opals/opal/spec/language/loop_spec.rb +11 -0
- data/opals/opal/spec/language/metaclass_spec.rb +21 -0
- data/opals/opal/spec/language/method_spec.rb +64 -0
- data/opals/opal/spec/language/next_spec.rb +25 -0
- data/opals/opal/spec/language/or_spec.rb +34 -0
- data/opals/opal/spec/language/redo_spec.rb +24 -0
- data/opals/opal/spec/language/rescue_spec.rb +20 -0
- data/opals/opal/spec/language/return_spec.rb +47 -0
- data/opals/opal/spec/language/string_spec.rb +25 -0
- data/opals/opal/spec/language/super_spec.rb +26 -0
- data/opals/opal/spec/language/until_spec.rb +157 -0
- data/opals/opal/spec/language/while_spec.rb +163 -0
- data/opals/opal/spec/spec_helper.rb +5 -0
- data/opals/runtime/Opalfile +68 -0
- data/opals/runtime/README.md +12 -0
- data/opals/runtime/docs/debugging.md +51 -0
- data/opals/runtime/lib/array.rb +1516 -0
- data/opals/runtime/lib/basic_object.rb +49 -0
- data/opals/runtime/lib/class.rb +54 -0
- data/opals/runtime/lib/dir.rb +36 -0
- data/opals/runtime/lib/error.rb +49 -0
- data/opals/runtime/lib/false_class.rb +52 -0
- data/opals/runtime/lib/file.rb +79 -0
- data/opals/runtime/lib/hash.rb +791 -0
- data/opals/runtime/lib/io.rb +39 -0
- data/opals/runtime/lib/kernel.rb +288 -0
- data/opals/runtime/lib/match_data.rb +36 -0
- data/opals/runtime/lib/module.rb +109 -0
- data/opals/runtime/lib/nil_class.rb +69 -0
- data/opals/runtime/lib/number.rb +398 -0
- data/opals/runtime/lib/proc.rb +77 -0
- data/opals/runtime/lib/range.rb +63 -0
- data/opals/runtime/lib/regexp.rb +111 -0
- data/opals/runtime/lib/ruby.rb +30 -0
- data/opals/runtime/lib/string.rb +328 -0
- data/opals/runtime/lib/symbol.rb +40 -0
- data/opals/runtime/lib/top_self.rb +33 -0
- data/opals/runtime/lib/true_class.rb +45 -0
- data/opals/runtime/runtime/browser.js +287 -0
- data/opals/runtime/runtime/debug.js +182 -0
- data/opals/runtime/runtime/opal.js +1010 -0
- data/opals/runtime/runtime/post_opal.js +1 -0
- data/opals/runtime/runtime/pre_opal.js +2 -0
- data/opals/runtime/runtime/server_side.js +50 -0
- data/opals/spec/LICENSE.txt +26 -0
- data/opals/spec/Opalfile +5 -0
- data/opals/spec/bin/spec.rb +43 -0
- data/opals/spec/lib/spec.rb +33 -0
- data/opals/spec/lib/spec/dsl.rb +41 -0
- data/opals/spec/lib/spec/example.rb +35 -0
- data/opals/spec/lib/spec/example/before_and_after_hooks.rb +81 -0
- data/opals/spec/lib/spec/example/errors.rb +42 -0
- data/opals/spec/lib/spec/example/example_group.rb +37 -0
- data/opals/spec/lib/spec/example/example_group_factory.rb +43 -0
- data/opals/spec/lib/spec/example/example_group_hierarchy.rb +45 -0
- data/opals/spec/lib/spec/example/example_group_methods.rb +142 -0
- data/opals/spec/lib/spec/example/example_group_proxy.rb +41 -0
- data/opals/spec/lib/spec/example/example_methods.rb +73 -0
- data/opals/spec/lib/spec/example/example_proxy.rb +48 -0
- data/opals/spec/lib/spec/expectations.rb +46 -0
- data/opals/spec/lib/spec/expectations/errors.rb +35 -0
- data/opals/spec/lib/spec/expectations/fail_with.rb +37 -0
- data/opals/spec/lib/spec/expectations/handler.rb +48 -0
- data/opals/spec/lib/spec/matchers.rb +50 -0
- data/opals/spec/lib/spec/matchers/be.rb +26 -0
- data/opals/spec/lib/spec/matchers/generated_descriptions.rb +47 -0
- data/opals/spec/lib/spec/matchers/operator_matcher.rb +66 -0
- data/opals/spec/lib/spec/runner.rb +48 -0
- data/opals/spec/lib/spec/runner/example_group_runner.rb +71 -0
- data/opals/spec/lib/spec/runner/formatter/html_formatter.rb +100 -0
- data/opals/spec/lib/spec/runner/formatter/terminal_formatter.rb +82 -0
- data/opals/spec/lib/spec/runner/options.rb +63 -0
- data/opals/spec/lib/spec/runner/reporter.rb +123 -0
- data/opals/spec/resources/index.html +25 -0
- data/opals/spec/resources/spec.css +132 -0
- data/spec/cherry_kit/iseq_spec.rb +38 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/vienna_spec.rb +7 -0
- data/yard/index.html +43 -0
- data/yard/style.css +765 -0
- metadata +312 -49
- data/docs/jarv.rdoc +0 -27
- data/runtime/array.js +0 -153
- data/runtime/class.js +0 -469
- data/runtime/compar.js +0 -73
- data/runtime/dir.js +0 -115
- data/runtime/enum.js +0 -74
- data/runtime/file.js +0 -165
- data/runtime/gem.js +0 -241
- data/runtime/hash.js +0 -181
- data/runtime/load.js +0 -251
- data/runtime/module.js +0 -98
- data/runtime/number.js +0 -148
- data/runtime/object.js +0 -522
- data/runtime/opal.js +0 -200
- data/runtime/parse.js +0 -2218
- data/runtime/range.js +0 -56
- data/runtime/re.js +0 -91
- data/runtime/string.js +0 -199
- data/runtime/variable.js +0 -184
- data/runtime/vm.js +0 -1150
- data/tasks/build.rb +0 -16
|
@@ -0,0 +1,191 @@
|
|
|
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
|
|
@@ -0,0 +1,23 @@
|
|
|
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,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* foundation.css
|
|
3
|
+
* vienna
|
|
4
4
|
*
|
|
5
5
|
* Created by Adam Beynon.
|
|
6
6
|
* Copyright 2010 Adam Beynon.
|
|
@@ -24,36 +24,30 @@
|
|
|
24
24
|
* THE SOFTWARE.
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
body {
|
|
28
|
+
top: 0px;
|
|
29
|
+
right: 0px;
|
|
30
|
+
bottom: 0px;
|
|
31
|
+
left: 0px;
|
|
32
|
+
position: absolute;
|
|
33
|
+
margin: 0px;
|
|
34
|
+
}
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
+
}
|
|
40
48
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
Init_Object();
|
|
47
|
-
Init_top_self();
|
|
48
|
-
Init_Array();
|
|
49
|
-
Init_Number();
|
|
50
|
-
Init_String();
|
|
51
|
-
Init_Hash();
|
|
52
|
-
Init_Range();
|
|
53
|
-
Init_Regexp();
|
|
54
|
-
Init_File();
|
|
55
|
-
Init_Dir();
|
|
56
|
-
Init_VM();
|
|
57
|
-
Init_vm_eval();
|
|
58
|
-
Init_load();
|
|
59
|
-
};
|
|
49
|
+
.ck-view body,
|
|
50
|
+
.ck-view div {
|
|
51
|
+
margin: 0px;
|
|
52
|
+
padding: 0px;
|
|
53
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
*/
|
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
}
|