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.
- data/.gitignore +0 -0
- data/.gitmodules +6 -0
- data/Opalfile +14 -1
- data/README.md +3 -44
- data/Rakefile +39 -131
- data/VERSION +1 -1
- data/extras/compiler.jar +0 -0
- data/gen/browser/__PROJECT_NAME__/Rakefile +12 -0
- data/gen/browser/__PROJECT_NAME__/index.html +1 -0
- data/gen/browser/__PROJECT_NAME__/javascripts/opal.debug.js +4687 -0
- data/gen/browser/__PROJECT_NAME__/javascripts/opal.min.js +175 -0
- data/lib/opal.rb +1 -0
- data/lib/opal/models/project.rb +45 -8
- data/lib/opal/opal/build.rb +169 -0
- data/lib/opal/opal/env/fs.rb +1 -1
- data/lib/opal/opal/environment.rb +2 -2
- data/lib/opal/opal/opal.rb +10 -3
- data/lib/opal/rake/opal_task.rb +34 -0
- data/opal.gemspec +260 -0
- data/opals/opal/README.md +37 -0
- data/opals/opal/Rakefile +1 -0
- data/opals/{browser → opal/browser}/Opalfile +0 -0
- data/opals/{browser → opal/browser}/README.md +0 -0
- data/opals/{browser → opal/browser}/SIZZLE_LICESNSE.txt +0 -0
- data/opals/{browser → opal/browser}/lib/browser.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/builder.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/canvas_context.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/dimensions.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/document.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/element.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/element/attributes.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/element/css.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/element/form.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/event/dom_events.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/event/event.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/event/trigger_events.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/geometry.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/json.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/json_parse.js +0 -0
- data/opals/{browser → opal/browser}/lib/browser/request/request.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/sizzle.js +0 -0
- data/opals/{browser → opal/browser}/lib/browser/string.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/touch.rb +0 -0
- data/opals/{browser → opal/browser}/lib/browser/vml_context.js +0 -0
- data/opals/{browser → opal/browser}/lib/browser/window.rb +0 -0
- data/opals/{browser → opal/browser}/spec/browser/browser_detection_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/document/aref_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/document/ready_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/body_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/clear_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/empty_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/has_class_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/hidden_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/hide_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/remove_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/show_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/style_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/toggle_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/element/visible_spec.rb +0 -0
- data/opals/{browser → opal/browser}/spec/spec_helper.rb +0 -0
- data/opals/opal/{Opalfile → opal/Opalfile} +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/append_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/assoc_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/at_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/clear_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/collect_bang_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/collect_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/compact_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/concat_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/constructor_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/each_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/element_reference_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/first_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/include_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/array/map_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/builtin_constants/builtin_constants_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/false/and_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/false/inspect_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/false/or_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/false/to_s_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/false/xor_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/file/join_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/kernel/instance_eval_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/kernel/loop_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/kernel/raise_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/module/attr_accessor_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/number/lt_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/true/and_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/true/inspect_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/true/or_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/true/to_s_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/core/true/xor_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/fixtures/super.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/____temp_remove_this.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/and_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/array_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/block_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/break_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/case_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/def_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/eigenclass_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/hash_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/if_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/loop_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/metaclass_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/method_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/next_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/or_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/redo_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/rescue_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/return_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/string_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/super_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/until_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/language/while_spec.rb +0 -0
- data/opals/opal/{spec → opal/spec}/spec_helper.rb +0 -0
- data/opals/{runtime → opal/runtime}/Opalfile +10 -0
- data/opals/{runtime → opal/runtime}/README.md +0 -0
- data/opals/{runtime → opal/runtime}/docs/debugging.md +0 -0
- data/opals/{runtime → opal/runtime}/lib/array.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/basic_object.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/class.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/dir.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/error.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/false_class.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/file.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/hash.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/io.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/kernel.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/match_data.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/module.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/nil_class.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/number.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/proc.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/range.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/regexp.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/ruby.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/string.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/symbol.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/top_self.rb +0 -0
- data/opals/{runtime → opal/runtime}/lib/true_class.rb +0 -0
- data/opals/{runtime → opal/runtime}/runtime/browser.js +0 -0
- data/opals/{runtime → opal/runtime}/runtime/debug.js +0 -2
- data/opals/{runtime → opal/runtime}/runtime/opal.js +0 -2
- data/opals/{runtime → opal/runtime}/runtime/post_opal.js +0 -0
- data/opals/{runtime → opal/runtime}/runtime/pre_opal.js +0 -0
- data/opals/{runtime → opal/runtime}/runtime/server_side.js +0 -0
- data/opals/{spec → opal/spec}/LICENSE.txt +0 -0
- data/opals/{spec → opal/spec}/Opalfile +0 -0
- data/opals/{spec → opal/spec}/bin/spec.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/dsl.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/before_and_after_hooks.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/errors.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_group.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_group_factory.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_group_hierarchy.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_group_methods.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_group_proxy.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_methods.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/example/example_proxy.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/expectations.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/expectations/errors.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/expectations/fail_with.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/expectations/handler.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/matchers.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/matchers/be.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/matchers/generated_descriptions.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/matchers/operator_matcher.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/runner.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/runner/example_group_runner.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/runner/formatter/html_formatter.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/runner/formatter/terminal_formatter.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/runner/options.rb +0 -0
- data/opals/{spec → opal/spec}/lib/spec/runner/reporter.rb +0 -0
- data/opals/{spec → opal/spec}/resources/index.html +0 -0
- data/opals/{spec → opal/spec}/resources/spec.css +0 -0
- metadata +170 -238
- data/opals/aristo/README.md +0 -16
- data/opals/cherry_kit/Opalfile +0 -6
- data/opals/cherry_kit/bin/cherry_kit.rb +0 -11
- data/opals/cherry_kit/lib/cherry_kit.rb +0 -29
- data/opals/foundation/Opalfile +0 -11
- data/opals/foundation/bin/foundation.rb +0 -12
- data/opals/foundation/lib/foundation.rb +0 -32
- data/opals/foundation/lib/foundation/__table_view_desktop/outline_view.rb +0 -57
- data/opals/foundation/lib/foundation/__table_view_desktop/table_column.rb +0 -59
- data/opals/foundation/lib/foundation/__table_view_desktop/table_header_view.rb +0 -34
- data/opals/foundation/lib/foundation/__table_view_desktop/table_view.rb +0 -304
- data/opals/foundation/lib/foundation/controllers/array_controller.rb +0 -54
- data/opals/foundation/lib/foundation/controllers/controller.rb +0 -74
- data/opals/foundation/lib/foundation/controllers/controller_selection_proxy.rb +0 -67
- data/opals/foundation/lib/foundation/controllers/object_controller.rb +0 -145
- data/opals/foundation/lib/foundation/controllers/view.rb +0 -40
- data/opals/foundation/lib/foundation/core/application.rb +0 -476
- data/opals/foundation/lib/foundation/core/attributes.rb +0 -146
- data/opals/foundation/lib/foundation/core/bindings.rb +0 -125
- data/opals/foundation/lib/foundation/core/builder.rb +0 -101
- data/opals/foundation/lib/foundation/core/event.rb +0 -112
- data/opals/foundation/lib/foundation/core/index_path.rb +0 -49
- data/opals/foundation/lib/foundation/core/index_set.rb +0 -97
- data/opals/foundation/lib/foundation/core/notification.rb +0 -113
- data/opals/foundation/lib/foundation/core/observable.rb +0 -275
- data/opals/foundation/lib/foundation/core/observable_array.rb +0 -30
- data/opals/foundation/lib/foundation/core/responder.rb +0 -85
- data/opals/foundation/lib/foundation/core/run_loop.rb +0 -89
- data/opals/foundation/lib/foundation/core/touch.rb +0 -95
- data/opals/foundation/lib/foundation/gestures/gesture_recognizer.rb +0 -35
- data/opals/foundation/lib/foundation/rendering/render_context.rb +0 -100
- data/opals/foundation/lib/foundation/rendering/renderer.rb +0 -137
- data/opals/foundation/lib/foundation/rendering/root_theme.rb +0 -77
- data/opals/foundation/lib/foundation/rendering/root_theme/button.rb +0 -62
- data/opals/foundation/lib/foundation/rendering/root_theme/control.rb +0 -72
- data/opals/foundation/lib/foundation/rendering/root_theme/label.rb +0 -54
- data/opals/foundation/lib/foundation/rendering/root_theme/scroller.rb +0 -58
- data/opals/foundation/lib/foundation/rendering/root_theme/slider.rb +0 -72
- data/opals/foundation/lib/foundation/rendering/root_theme/table_view.rb +0 -97
- data/opals/foundation/lib/foundation/rendering/root_theme/text_field.rb +0 -55
- data/opals/foundation/lib/foundation/rendering/root_theme/view.rb +0 -81
- data/opals/foundation/lib/foundation/rendering/theme.rb +0 -38
- data/opals/foundation/lib/foundation/table_view/cell.rb +0 -39
- data/opals/foundation/lib/foundation/table_view/table.rb +0 -171
- data/opals/foundation/lib/foundation/views/button.rb +0 -63
- data/opals/foundation/lib/foundation/views/checkbox.rb +0 -28
- data/opals/foundation/lib/foundation/views/clip.rb +0 -47
- data/opals/foundation/lib/foundation/views/control.rb +0 -199
- data/opals/foundation/lib/foundation/views/label.rb +0 -54
- data/opals/foundation/lib/foundation/views/scroll.rb +0 -294
- data/opals/foundation/lib/foundation/views/scroll_view_desktop.rb +0 -152
- data/opals/foundation/lib/foundation/views/scroller.rb +0 -54
- data/opals/foundation/lib/foundation/views/slider.rb +0 -93
- data/opals/foundation/lib/foundation/views/text_field.rb +0 -83
- data/opals/foundation/lib/foundation/views/view.rb +0 -426
- data/opals/foundation/lib/foundation/windows/window.rb +0 -191
- data/opals/foundation/resources/button/button.css +0 -23
- data/opals/foundation/resources/foundation.css +0 -53
- data/opals/foundation/resources/scroll/scroll.css +0 -22
- data/opals/foundation/resources/scroll_view/scroll_view.css +0 -3
- data/opals/foundation/resources/scroll_view/scroller.css +0 -3
- data/opals/foundation/resources/slider/regular/slider.css +0 -3
- data/opals/foundation/resources/slider/slider.css +0 -27
- data/opals/foundation/resources/table_view/outline_view.css +0 -3
- data/opals/foundation/resources/table_view/table_view.css +0 -15
- data/opals/foundation/resources/text_field/text_field.css +0 -71
- data/opals/foundation/spec/spec_helper.rb +0 -1
- data/opals/foundation/spec/system/attributes/get_attribute_spec.rb +0 -69
- data/opals/foundation/spec/system/attributes/get_path_spec.rb +0 -44
- data/opals/foundation/spec/system/attributes/set_path_spec.rb +0 -24
- data/opals/foundation/spec/system/attributes/set_spec.rb +0 -58
- data/opals/foundation/spec/system/bindings/bindings.rb +0 -85
- data/opals/foundation/spec/system/key_value_binding/bind_spec.rb +0 -43
- data/opals/foundation/spec/system/observable/dependant_keys_spec.rb +0 -74
- data/opals/foundation/spec/system/observable/observe_spec.rb +0 -292
- data/opals/foundation/spec/system/observable/remove_observer_spec.rb +0 -60
data/opals/aristo/README.md
DELETED
|
@@ -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
|
data/opals/cherry_kit/Opalfile
DELETED
|
@@ -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"
|
data/opals/foundation/Opalfile
DELETED
|
@@ -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
|