sproutcore 1.0.1049.pre.2 → 1.4.0.rc
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/VERSION.yml +4 -4
- data/lib/Buildfile +1 -1
- data/lib/frameworks/sproutcore/Buildfile +13 -27
- data/lib/frameworks/sproutcore/apps/greenhouse/controllers/library.js +0 -42
- data/lib/frameworks/sproutcore/apps/greenhouse/controllers/view_configs.js +100 -0
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/app_page.js +1 -1
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/dialogs.js +33 -9
- data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/strings.js +5 -2
- data/lib/frameworks/sproutcore/apps/greenhouse/states/main.js +1 -0
- data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +21 -11
- data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +0 -7
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +6 -24
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +46 -36
- data/lib/frameworks/sproutcore/frameworks/animation/core.js +32 -50
- data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +2 -7
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +66 -42
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +4 -12
- data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/{desktop/tests → datastore/tests/models}/datetime_recordattribute.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +3 -27
- data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/touch-scroller.css +196 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +21 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +15 -19
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +22 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +54 -12
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +45 -18
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +52 -32
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +3 -28
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +10 -30
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +17 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +20 -128
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +39 -8
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +47 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +90 -59
- data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +39 -29
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +15 -11
- data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +16 -17
- data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +278 -457
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +5 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +101 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +87 -85
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +278 -33
- data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +146 -60
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +80 -211
- data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +10 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +34 -33
- data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +248 -331
- data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +12 -1
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/controllers/object.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/core.js +2 -33
- data/lib/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/license.js +11 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +6 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +9 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +1 -83
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +7 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/panes/main.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/panes/pane.js +107 -143
- data/lib/frameworks/sproutcore/frameworks/foundation/system/bundle.js +8 -4
- data/lib/frameworks/sproutcore/frameworks/foundation/system/core_query.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/system/event.js +44 -33
- data/lib/frameworks/sproutcore/frameworks/foundation/system/exception_handler.js +85 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +9 -9
- data/lib/frameworks/sproutcore/frameworks/foundation/system/platform.js +114 -6
- data/lib/frameworks/sproutcore/frameworks/foundation/system/ready.js +37 -38
- data/lib/frameworks/sproutcore/frameworks/foundation/system/render_context.js +5 -33
- data/lib/frameworks/sproutcore/frameworks/foundation/system/response.js +17 -19
- data/lib/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +311 -255
- data/lib/frameworks/sproutcore/frameworks/foundation/system/routes.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +10 -10
- data/lib/frameworks/sproutcore/frameworks/foundation/system/utils.js +53 -44
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +17 -16
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +0 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +3 -11
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +4 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +5 -7
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +41 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +56 -118
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +4 -12
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +5 -48
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +2 -24
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +49 -21
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +85 -54
- data/lib/frameworks/sproutcore/frameworks/foundation/views/view.js +256 -1174
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +81 -74
- data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/media/views/miniControls.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/mobile/tests/views/button/ui.js +1 -8
- data/lib/frameworks/sproutcore/frameworks/mobile/views/button.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +54 -25
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +1 -11
- data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +24 -25
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +9 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +13 -6
- data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +26 -11
- data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +140 -33
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +33 -0
- data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +48 -1
- data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart.js +2 -3
- data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +1 -1
- data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/scroller.css +8 -4
- data/lib/sproutcore/helpers/entry_sorter.rb +14 -1
- data/sproutcore.gemspec +0 -2
- metadata +12 -443
- data/lib/frameworks/sproutcore/Gemfile +0 -8
- data/lib/frameworks/sproutcore/Gemfile.lock +0 -33
- data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +0 -108
- data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +0 -31
- data/lib/frameworks/sproutcore/apps/test_controls/core.js +0 -29
- data/lib/frameworks/sproutcore/apps/test_controls/main.js +0 -14
- data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +0 -124
- data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +0 -45
- data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +0 -77
- data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +0 -40
- data/lib/frameworks/sproutcore/apps/test_controls/resources/loading.rhtml +0 -9
- data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +0 -54
- data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +0 -136
- data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +0 -42
- data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +0 -41
- data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +0 -76
- data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +0 -75
- data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +0 -60
- data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +0 -53
- data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +0 -50
- data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +0 -15
- data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +0 -40
- data/lib/frameworks/sproutcore/apps/welcome/english.lproj/images/main-bg.png +0 -0
- data/lib/frameworks/sproutcore/bin/edit_json.rb +0 -14
- data/lib/frameworks/sproutcore/bin/erubis +0 -14
- data/lib/frameworks/sproutcore/bin/prettify_json.rb +0 -14
- data/lib/frameworks/sproutcore/bin/rackup +0 -14
- data/lib/frameworks/sproutcore/bin/rake2thor +0 -14
- data/lib/frameworks/sproutcore/bin/sc-build +0 -14
- data/lib/frameworks/sproutcore/bin/sc-build-number +0 -14
- data/lib/frameworks/sproutcore/bin/sc-docs +0 -14
- data/lib/frameworks/sproutcore/bin/sc-gen +0 -14
- data/lib/frameworks/sproutcore/bin/sc-init +0 -14
- data/lib/frameworks/sproutcore/bin/sc-manifest +0 -14
- data/lib/frameworks/sproutcore/bin/sc-server +0 -14
- data/lib/frameworks/sproutcore/bin/sproutcore +0 -14
- data/lib/frameworks/sproutcore/bin/thin +0 -14
- data/lib/frameworks/sproutcore/bin/thor +0 -14
- data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +0 -130
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/button.js +0 -147
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/checkbox.js +0 -87
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/checkbox_control.js +0 -103
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/disclosure.js +0 -82
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/disclosure_control.js +0 -103
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/image_button.js +0 -33
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/list_item.js +0 -334
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/masterDetail.js +0 -23
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/panel.js +0 -34
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/picker.js +0 -50
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/segment.js +0 -79
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/segmented.js +0 -172
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/slider.js +0 -86
- data/lib/frameworks/sproutcore/frameworks/desktop/renderers/workspace.js +0 -22
- data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +0 -112
- data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +0 -249
- data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation.js +0 -237
- data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation_bar.js +0 -181
- data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +0 -270
- data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
- data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/default_styles.css +0 -5
- data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/strings.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/mixins/auto_hide.js +0 -85
- data/lib/frameworks/sproutcore/frameworks/forms/mixins/edit_mode.js +0 -43
- data/lib/frameworks/sproutcore/frameworks/forms/renderers/form.js +0 -24
- data/lib/frameworks/sproutcore/frameworks/forms/renderers/form_row.js +0 -24
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_field.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_label.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_radio_field.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_row.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_text_field.js +0 -15
- data/lib/frameworks/sproutcore/frameworks/forms/views/form.js +0 -266
- data/lib/frameworks/sproutcore/frameworks/forms/views/form_row.js +0 -188
- data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/gestures/pinch.js +0 -81
- data/lib/frameworks/sproutcore/frameworks/foundation/gestures/swipe.js +0 -142
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +0 -33
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +0 -74
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +0 -415
- data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +0 -106
- data/lib/frameworks/sproutcore/frameworks/foundation/renderers/control.js +0 -122
- data/lib/frameworks/sproutcore/frameworks/foundation/renderers/image.js +0 -51
- data/lib/frameworks/sproutcore/frameworks/foundation/renderers/label.js +0 -96
- data/lib/frameworks/sproutcore/frameworks/foundation/renderers/renderer.js +0 -316
- data/lib/frameworks/sproutcore/frameworks/foundation/renderers/title.js +0 -108
- data/lib/frameworks/sproutcore/frameworks/foundation/renderers/view.js +0 -62
- data/lib/frameworks/sproutcore/frameworks/foundation/system/gesture.js +0 -245
- data/lib/frameworks/sproutcore/frameworks/foundation/system/theme.js +0 -108
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/renderers/renderer/base.js +0 -170
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/renderers/renderer/inheritance.js +0 -39
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/theme.js +0 -86
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendTouchEvent.js +0 -267
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/animation.js +0 -321
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/build.js +0 -85
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/build_children.js +0 -89
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/renderer.js +0 -443
- data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/theme.js +0 -41
- data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +0 -6240
- data/lib/frameworks/sproutcore/frameworks/test +0 -77
- data/lib/frameworks/sproutcore/themes/ace/Buildfile +0 -0
- data/lib/frameworks/sproutcore/themes/ace/README.md +0 -161
- data/lib/frameworks/sproutcore/themes/ace/build +0 -2
- data/lib/frameworks/sproutcore/themes/ace/build-d +0 -2
- data/lib/frameworks/sproutcore/themes/ace/chance/README.md +0 -113
- data/lib/frameworks/sproutcore/themes/ace/chance/chance.rb +0 -203
- data/lib/frameworks/sproutcore/themes/ace/chance/lib/css.rb +0 -202
- data/lib/frameworks/sproutcore/themes/ace/chance/lib/slicedice.rb +0 -391
- data/lib/frameworks/sproutcore/themes/ace/chance/sc-theme.rb +0 -0
- data/lib/frameworks/sproutcore/themes/ace/chance/scripts/setup.rb +0 -126
- data/lib/frameworks/sproutcore/themes/ace/mockups/dark.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/mockups/dark.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/mockups/light.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/mockups/light.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/images/1.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/images/2.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/images/3.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/resources/theme.css +0 -1832
- data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/images/1.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/images/2.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/images/3.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/scroll_test/resources/theme.css +0 -147
- data/lib/frameworks/sproutcore/themes/ace/scroll_test/scrollbars.html +0 -326
- data/lib/frameworks/sproutcore/themes/ace/src/body.css +0 -13
- data/lib/frameworks/sproutcore/themes/ace/src/collections/list.css +0 -4
- data/lib/frameworks/sproutcore/themes/ace/src/collections/list_item.css +0 -7
- data/lib/frameworks/sproutcore/themes/ace/src/collections/source_list/selection.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/collections/source_list/selection.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/collections/source_list/source_list_view.css +0 -37
- data/lib/frameworks/sproutcore/themes/ace/src/containers/container.css +0 -3
- data/lib/frameworks/sproutcore/themes/ace/src/containers/masterdetail/master-detail.css +0 -26
- data/lib/frameworks/sproutcore/themes/ace/src/containers/split/split.css +0 -4
- data/lib/frameworks/sproutcore/themes/ace/src/containers/tab/tab.css +0 -9
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button.js +0 -23
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/button_view.css +0 -53
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/18px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/button_view.css +0 -144
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/24px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/button_view_30.css +0 -111
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/30px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/button_view.css +0 -57
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/44px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/button_view/button_view.css +0 -56
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_closed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_open_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/buttons/disclosure_view/disclosure_view.css +0 -64
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox.css +0 -25
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_checked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/14px/checkbox_unchecked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox.css +0 -25
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_checked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/16px/checkbox_unchecked_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/checkbox.css +0 -4
- data/lib/frameworks/sproutcore/themes/ace/src/controls/checkboxes/checkbox_control.css +0 -31
- data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view.css +0 -70
- data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_content.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_content.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_indeterminate_content.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/progress/progress_view/progress_view_track.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio.css +0 -61
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_mixed_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_unselected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/radio/radio_unselected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/horizontal.css +0 -77
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/thumb.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/thumb.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/horizontal/track_and_arrows_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/thumb.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/thumb.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/track_and_arrows_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/scroll/vertical/vertical.css +0 -74
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented.css +0 -92
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/18px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented.css +0 -87
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/24px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented.css +0 -93
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/30px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented.css +0 -101
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_normal.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_normal.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/44px/segmented_selected_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/segmented.css +0 -73
- data/lib/frameworks/sproutcore/themes/ace/src/controls/segmented/segmented.js +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/select/active_select.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/select/active_select.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/select/menu.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/select/normal_select.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/select/normal_select.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/select/select.css +0 -45
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/knob_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/14px/slider.css +0 -43
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/knob_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/16px/slider.css +0 -44
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/knob_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/slider.css +0 -44
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/22px/track.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/slider.css +0 -3
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/slider.js +0 -27
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/track.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/slider/track.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_handle.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_handle.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_off.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_off.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_on.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/controls/switch/24px/switch_on.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/core/loading.css +0 -50
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/button_view.css +0 -142
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_capsule.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_capsule.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/24px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/button_view_30.css +0 -111
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/normal_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_active_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button_pointer.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/30px/selected_button_pointer.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/button.css +0 -20
- data/lib/frameworks/sproutcore/themes/ace/src/dark/buttons/button.js +0 -3
- data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/form.js +0 -21
- data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/form_row.js +0 -24
- data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/iphone.css +0 -51
- data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/iphone.js +0 -14
- data/lib/frameworks/sproutcore/themes/ace/src/form/iphone/label.js +0 -32
- data/lib/frameworks/sproutcore/themes/ace/src/panels/pane.css +0 -3
- data/lib/frameworks/sproutcore/themes/ace/src/panels/panel.css +0 -70
- data/lib/frameworks/sproutcore/themes/ace/src/panels/panel.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/panel.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark_active.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/checkmark_active.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/down.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/down.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.css +0 -154
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu_item.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/menu_item.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/up.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/menu/up.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/picker.css +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/picker.js +0 -1
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/picker.js +0 -14
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.css +0 -271
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.js +0 -5
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_empty.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_empty.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_notoolbar.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_notoolbar.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers_notoolbar.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_pointers_notoolbar.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/popover_sourcelist.css +0 -5
- data/lib/frameworks/sproutcore/themes/ace/src/panels/picker/popover/workspace.js +0 -51
- data/lib/frameworks/sproutcore/themes/ace/src/theme.js +0 -12
- data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/selection.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.css +0 -8
- data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/toolbars/normal/toolbar.psd +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/toolbars/panel_header/panel_header.png +0 -0
- data/lib/frameworks/sproutcore/themes/ace/src/toolbars/panel_header/panel_header.psd +0 -0
- data/lib/frameworks/sproutcore/themes/empty_theme/theme.js +0 -16
@@ -16,14 +16,6 @@ SC.MODE_APPEND = 'append';
|
|
16
16
|
/** set update mode on context to prepend content */
|
17
17
|
SC.MODE_PREPEND = 'prepend';
|
18
18
|
|
19
|
-
/** list of numeric properties that should not have 'px' appended */
|
20
|
-
SC.NON_PIXEL_PROPERTIES = 'zIndex font-weight opacity'.w();
|
21
|
-
|
22
|
-
/** a list of styles that get expanded into multiple properties, add more as you discover them */
|
23
|
-
SC.COMBO_STYLES = {
|
24
|
-
WebkitTransition: 'WebkitTransitionProperty WebkitTransitionDuration WebkitTransitionDelay WebkitTransitionTimingFunction'.w()
|
25
|
-
};
|
26
|
-
|
27
19
|
/**
|
28
20
|
@namespace
|
29
21
|
|
@@ -396,8 +388,7 @@ SC.RenderContext = SC.Builder.create(/** SC.RenderContext.fn */ {
|
|
396
388
|
if (!styles.hasOwnProperty(key)) continue ;
|
397
389
|
value = styles[key];
|
398
390
|
if (value === null) continue; // skip empty styles
|
399
|
-
|
400
|
-
if (!isNaN(value) && !SC.NON_PIXEL_PROPERTIES.contains(key)) value += "px";
|
391
|
+
if (typeof value === SC.T_NUMBER && key !== "zIndex") value += "px";
|
401
392
|
pair[0] = this._dasherizeStyleName(key);
|
402
393
|
pair[1] = value;
|
403
394
|
joined.push(pair.join(': '));
|
@@ -460,7 +451,7 @@ SC.RenderContext = SC.Builder.create(/** SC.RenderContext.fn */ {
|
|
460
451
|
if(!styles.hasOwnProperty(key)) continue ;
|
461
452
|
value = styles[key];
|
462
453
|
if (value === null) continue; // skip empty styles
|
463
|
-
if (!isNaN(value) &&
|
454
|
+
if (!isNaN(value) && key !== "zIndex") value += "px";
|
464
455
|
|
465
456
|
pair[0] = this._dasherizeStyleName(key);
|
466
457
|
pair[1] = value;
|
@@ -816,23 +807,7 @@ SC.RenderContext = SC.Builder.create(/** SC.RenderContext.fn */ {
|
|
816
807
|
return this ;
|
817
808
|
}
|
818
809
|
},
|
819
|
-
|
820
|
-
_deleteComboStyles: function(styles, key) {
|
821
|
-
var comboStyles = SC.COMBO_STYLES[key],
|
822
|
-
didChange = NO;
|
823
|
-
|
824
|
-
if (comboStyles) {
|
825
|
-
var idx;
|
826
|
-
for (idx=0; idx < comboStyles.length; idx++) {
|
827
|
-
if (styles[comboStyles[idx]]) {
|
828
|
-
delete styles[comboStyles[idx]];
|
829
|
-
didChange = YES;
|
830
|
-
}
|
831
|
-
}
|
832
|
-
}
|
833
|
-
return didChange;
|
834
|
-
},
|
835
|
-
|
810
|
+
|
836
811
|
/**
|
837
812
|
Apply the passed styles to the tag. You can pass either a single key
|
838
813
|
value pair or a hash of styles. Note that if you set a style on an
|
@@ -848,25 +823,22 @@ SC.RenderContext = SC.Builder.create(/** SC.RenderContext.fn */ {
|
|
848
823
|
// clone them if needed. This will get the actual styles hash so we can
|
849
824
|
// edit it directly.
|
850
825
|
var key, didChange = NO, styles = this.styles();
|
851
|
-
|
826
|
+
|
852
827
|
// simple form
|
853
828
|
if (typeof nameOrStyles === SC.T_STRING) {
|
854
829
|
if (value === undefined) { // reader
|
855
830
|
return styles[nameOrStyles];
|
856
831
|
} else { // writer
|
857
|
-
didChange = this._deleteComboStyles(styles, nameOrStyles);
|
858
832
|
if (styles[nameOrStyles] !== value) {
|
859
833
|
styles[nameOrStyles] = value ;
|
860
|
-
|
834
|
+
this._stylesDidChange = YES ;
|
861
835
|
}
|
862
|
-
if (didChange) this._stylesDidChange = YES;
|
863
836
|
}
|
864
837
|
|
865
838
|
// bulk form
|
866
839
|
} else {
|
867
840
|
for(key in nameOrStyles) {
|
868
841
|
if (!nameOrStyles.hasOwnProperty(key)) continue ;
|
869
|
-
didChange = didChange || this._deleteComboStyles(styles, key);
|
870
842
|
value = nameOrStyles[key];
|
871
843
|
if (styles[key] !== value) {
|
872
844
|
styles[key] = value;
|
@@ -256,26 +256,24 @@ SC.Response = SC.Object.extend(
|
|
256
256
|
var req = this.get('request');
|
257
257
|
var source = req ? req.get('source') : null;
|
258
258
|
|
259
|
-
SC.
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
if (source && source.willReceive) source.willReceive(req, this);
|
264
|
-
|
265
|
-
// invoke the callback. note if the response was cancelled or not
|
266
|
-
callback.call(context, !this.get('isCancelled'));
|
267
|
-
|
268
|
-
// if we weren't cancelled, then give the source first crack at handling
|
269
|
-
// the response. if the source doesn't want listeners to be notified,
|
270
|
-
// it will cancel the response.
|
271
|
-
if (!this.get('isCancelled') && source && source.didReceive) {
|
272
|
-
source.didReceive(req, this);
|
273
|
-
}
|
259
|
+
SC.run(function() {
|
260
|
+
// invoke the source, giving a chance to fixup the reponse or (more
|
261
|
+
// likely) cancel the request.
|
262
|
+
if (source && source.willReceive) source.willReceive(req, this);
|
274
263
|
|
275
|
-
|
276
|
-
|
264
|
+
// invoke the callback. note if the response was cancelled or not
|
265
|
+
callback.call(context, !this.get('isCancelled'));
|
277
266
|
|
278
|
-
|
267
|
+
// if we weren't cancelled, then give the source first crack at handling
|
268
|
+
// the response. if the source doesn't want listeners to be notified,
|
269
|
+
// it will cancel the response.
|
270
|
+
if (!this.get('isCancelled') && source && source.didReceive) {
|
271
|
+
source.didReceive(req, this);
|
272
|
+
}
|
273
|
+
|
274
|
+
// notify listeners if we weren't cancelled.
|
275
|
+
if (!this.get('isCancelled')) this.notify();
|
276
|
+
}, this);
|
279
277
|
}
|
280
278
|
|
281
279
|
// no matter what, remove from inflight queue
|
@@ -457,7 +455,7 @@ SC.XHRResponse = SC.Response.extend({
|
|
457
455
|
// configure async callback - differs per browser...
|
458
456
|
async = !!this.getPath('request.isAsynchronous') ;
|
459
457
|
if (async) {
|
460
|
-
if (!SC.browser.msie) {
|
458
|
+
if (!SC.browser.msie && !SC.browser.opera ) {
|
461
459
|
SC.Event.add(rawRequest, 'readystatechange', this,
|
462
460
|
this.finishRequest, rawRequest) ;
|
463
461
|
} else {
|
@@ -258,28 +258,35 @@ SC.RootResponder = SC.Object.extend({
|
|
258
258
|
|
259
259
|
@returns Rect
|
260
260
|
*/
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
261
|
+
computeWindowSize: function() {
|
262
|
+
var size, bod, docElement;
|
263
|
+
if(!this._bod || !this._docElement){
|
264
|
+
bod = document.body;
|
265
|
+
docElement = document.documentElement;
|
266
|
+
this._bod=bod;
|
267
|
+
this._docElement=docElement;
|
268
|
+
}else{
|
269
|
+
bod = this._bod;
|
270
|
+
docElement = this._docElement;
|
271
|
+
}
|
272
|
+
if (window.innerHeight) {
|
273
|
+
size = {
|
274
|
+
width: window.innerWidth,
|
275
|
+
height: window.innerHeight
|
276
|
+
} ;
|
277
|
+
} else if (docElement && docElement.clientHeight) {
|
278
|
+
size = {
|
279
|
+
width: docElement.clientWidth,
|
280
|
+
height: docElement.clientHeight
|
281
|
+
};
|
282
|
+
} else if (bod) {
|
283
|
+
size = {
|
284
|
+
width: bod.clientWidth,
|
285
|
+
height: bod.clientHeight
|
286
|
+
} ;
|
287
|
+
}
|
288
|
+
return size;
|
289
|
+
},
|
283
290
|
|
284
291
|
/**
|
285
292
|
On window resize, notifies panes of the change.
|
@@ -296,12 +303,12 @@ SC.RootResponder = SC.Object.extend({
|
|
296
303
|
// calculate new window size...
|
297
304
|
var newSize = this.computeWindowSize(), oldSize = this.get('currentWindowSize');
|
298
305
|
this.set('currentWindowSize', newSize); // update size
|
299
|
-
|
306
|
+
|
300
307
|
if (!SC.rectsEqual(newSize, oldSize)) {
|
301
308
|
//Notify orientation change. This is faster than waiting for the orientation
|
302
309
|
//change event.
|
303
310
|
if(SC.platform.touch){
|
304
|
-
var body = SC.$(document.body);
|
311
|
+
var body = SC.$(document.body);
|
305
312
|
if(newSize.height>= newSize.width) {
|
306
313
|
SC.device.set('orientation', 'portrait');
|
307
314
|
}
|
@@ -311,9 +318,9 @@ SC.RootResponder = SC.Object.extend({
|
|
311
318
|
}
|
312
319
|
// notify panes
|
313
320
|
if (this.panes) {
|
314
|
-
SC.
|
315
|
-
|
316
|
-
|
321
|
+
SC.run(function() {
|
322
|
+
this.panes.invoke('windowSizeDidChange', oldSize, newSize) ;
|
323
|
+
}, this);
|
317
324
|
}
|
318
325
|
}
|
319
326
|
},
|
@@ -336,9 +343,9 @@ SC.RootResponder = SC.Object.extend({
|
|
336
343
|
if (!this.get('hasFocus')) {
|
337
344
|
SC.$('body').addClass('sc-focus').removeClass('sc-blur');
|
338
345
|
|
339
|
-
SC.
|
340
|
-
|
341
|
-
|
346
|
+
SC.run(function() {
|
347
|
+
this.set('hasFocus', YES);
|
348
|
+
}, this);
|
342
349
|
}
|
343
350
|
return YES ; // allow default
|
344
351
|
},
|
@@ -370,9 +377,9 @@ SC.RootResponder = SC.Object.extend({
|
|
370
377
|
if (this.get('hasFocus')) {
|
371
378
|
SC.$('body').addClass('sc-blur').removeClass('sc-focus');
|
372
379
|
|
373
|
-
SC.
|
374
|
-
|
375
|
-
|
380
|
+
SC.run(function() {
|
381
|
+
this.set('hasFocus', NO);
|
382
|
+
}, this);
|
376
383
|
}
|
377
384
|
return YES ; // allow default
|
378
385
|
},
|
@@ -415,20 +422,20 @@ SC.RootResponder = SC.Object.extend({
|
|
415
422
|
@returns {Boolean} YES if action was performed, NO otherwise
|
416
423
|
@test in targetForAction
|
417
424
|
*/
|
418
|
-
sendAction: function( action, target, sender, pane, context
|
419
|
-
target = this.targetForAction(action, target, sender, pane
|
425
|
+
sendAction: function( action, target, sender, pane, context) {
|
426
|
+
target = this.targetForAction(action, target, sender, pane) ;
|
420
427
|
|
421
428
|
// HACK: If the target is a ResponderContext, forward the action.
|
422
429
|
if (target && target.isResponderContext) {
|
423
|
-
return !!target.sendAction(action, sender, context
|
430
|
+
return !!target.sendAction(action, sender, context);
|
424
431
|
} else return target && target.tryToPerform(action, sender);
|
425
432
|
},
|
426
433
|
|
427
|
-
_responderFor: function(target, methodName
|
434
|
+
_responderFor: function(target, methodName) {
|
428
435
|
var defaultResponder = target ? target.get('defaultResponder') : null;
|
429
436
|
|
430
437
|
if (target) {
|
431
|
-
target =
|
438
|
+
target = target.get('firstResponder') || target;
|
432
439
|
do {
|
433
440
|
if (target.respondsTo(methodName)) return target ;
|
434
441
|
} while ((target = target.get('nextResponder'))) ;
|
@@ -465,10 +472,9 @@ SC.RootResponder = SC.Object.extend({
|
|
465
472
|
@param {String} method name for target
|
466
473
|
@param {Object} sender optional sender
|
467
474
|
@param {SC.Pane} optional pane
|
468
|
-
@param {firstResponder} a first responder to use
|
469
475
|
@returns {Object} target object or null if none found
|
470
476
|
*/
|
471
|
-
targetForAction: function(methodName, target, sender, pane
|
477
|
+
targetForAction: function(methodName, target, sender, pane) {
|
472
478
|
|
473
479
|
// 1. no action, no target...
|
474
480
|
if (!methodName || (SC.typeOf(methodName) !== SC.T_STRING)) {
|
@@ -482,7 +488,7 @@ SC.RootResponder = SC.Object.extend({
|
|
482
488
|
SC.objectForPropertyPath(target, sender);
|
483
489
|
}
|
484
490
|
|
485
|
-
if (target) {
|
491
|
+
if (target && !target.isResponderContext) {
|
486
492
|
if (target.respondsTo && !target.respondsTo(methodName)) {
|
487
493
|
target = null ;
|
488
494
|
} else if (SC.typeOf(target[methodName]) !== SC.T_FUNCTION) {
|
@@ -495,7 +501,7 @@ SC.RootResponder = SC.Object.extend({
|
|
495
501
|
|
496
502
|
// 3. an explicit pane was passed...
|
497
503
|
if (pane) {
|
498
|
-
return this._responderFor(pane, methodName
|
504
|
+
return this._responderFor(pane, methodName) ;
|
499
505
|
}
|
500
506
|
|
501
507
|
// 4. no target or pane passed... try to find target in the active panes
|
@@ -556,16 +562,14 @@ SC.RootResponder = SC.Object.extend({
|
|
556
562
|
sendEvent: function(action, evt, target) {
|
557
563
|
var pane, ret ;
|
558
564
|
|
559
|
-
SC.
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
else pane = this.get('menuPane') || this.get('keyPane') || this.get('mainPane') ;
|
564
|
-
|
565
|
-
// if we found a valid pane, send the event to it
|
566
|
-
ret = (pane) ? pane.sendEvent(action, evt, target) : null ;
|
565
|
+
SC.run(function() {
|
566
|
+
// get the target pane
|
567
|
+
if (target) pane = target.get('pane') ;
|
568
|
+
else pane = this.get('menuPane') || this.get('keyPane') || this.get('mainPane') ;
|
567
569
|
|
568
|
-
|
570
|
+
// if we found a valid pane, send the event to it
|
571
|
+
ret = (pane) ? pane.sendEvent(action, evt, target) : null ;
|
572
|
+
}, this);
|
569
573
|
|
570
574
|
return ret ;
|
571
575
|
},
|
@@ -658,6 +662,15 @@ SC.RootResponder = SC.Object.extend({
|
|
658
662
|
var mousewheel = SC.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel';
|
659
663
|
SC.Event.add(document, mousewheel, this, this.mousewheel);
|
660
664
|
|
665
|
+
|
666
|
+
|
667
|
+
// If the browser is identifying itself as a touch-enabled browser, but
|
668
|
+
// touch events are not present, assume this is a desktop browser doing
|
669
|
+
// user agent spoofing and simulate touch events automatically.
|
670
|
+
if (SC.browser && SC.platform && SC.browser.mobileSafari && !SC.platform.touch) {
|
671
|
+
SC.platform.simulateTouchEvents();
|
672
|
+
}
|
673
|
+
|
661
674
|
// do some initial set
|
662
675
|
this.set('currentWindowSize', this.computeWindowSize()) ;
|
663
676
|
this.focus(); // assume the window is focused when you load.
|
@@ -741,8 +754,24 @@ SC.RootResponder = SC.Object.extend({
|
|
741
754
|
};
|
742
755
|
SC.RunLoop.prototype.endRunLoop = patch;
|
743
756
|
}
|
757
|
+
|
758
|
+
// Orientation changes are not being reliably reported with iPhone 0S 3
|
759
|
+
// We do this initialization to double check the right orientation.
|
760
|
+
// This happens if the orientation has changed from the moment the app
|
761
|
+
// started loading until the app is set until isReady
|
762
|
+
if(SC.platform.touch){
|
763
|
+
var newSize = this.computeWindowSize(),
|
764
|
+
body = SC.$(document.body);
|
765
|
+
|
766
|
+
if(newSize.height>= newSize.width) {
|
767
|
+
SC.device.set('orientation', 'portrait');
|
768
|
+
}
|
769
|
+
else {
|
770
|
+
SC.device.set('orientation', 'landscape');
|
771
|
+
}
|
772
|
+
}
|
744
773
|
},
|
745
|
-
|
774
|
+
|
746
775
|
// ................................................................................
|
747
776
|
// TOUCH SUPPORT
|
748
777
|
//
|
@@ -773,7 +802,7 @@ SC.RootResponder = SC.Object.extend({
|
|
773
802
|
_touches: {},
|
774
803
|
|
775
804
|
/**
|
776
|
-
Returns the touches that are registered to the specified view
|
805
|
+
Returns the touches that are registered to the specified view; undefined if none.
|
777
806
|
|
778
807
|
When views receive a touch event, they have the option to subscribe to it.
|
779
808
|
They are then mapped to touch events and vice-versa. This returns touches mapped to the view.
|
@@ -842,7 +871,7 @@ SC.RootResponder = SC.Object.extend({
|
|
842
871
|
|
843
872
|
assignTouch: function(touch, view) {
|
844
873
|
// sanity-check
|
845
|
-
if (touch.hasEnded) throw "
|
874
|
+
if (touch.hasEnded) throw "Attemt to assign a touch that is already finished.";
|
846
875
|
|
847
876
|
// unassign from old view if necessary
|
848
877
|
if (touch.view === view) return;
|
@@ -894,10 +923,9 @@ SC.RootResponder = SC.Object.extend({
|
|
894
923
|
The touch responder for any given touch is the view which will receive touch events
|
895
924
|
for that touch. Quite simple.
|
896
925
|
|
897
|
-
|
898
|
-
|
899
|
-
|
900
|
-
is called on the new responder before touchCancelled is called on the old one (touchStart has to accept the touch
|
926
|
+
makeTouchResponder takes a potential responder as an argument, and, by calling touchStart on each
|
927
|
+
nextResponder, finds the actual responder. As a side-effect of how it does this, touchStart is called
|
928
|
+
on the new responder before touchCancelled is called on the old one (touchStart has to accept the touch
|
901
929
|
before it can be considered cancelled).
|
902
930
|
|
903
931
|
You usually don't have to think about this at all. However, if you don't want your view to,
|
@@ -1065,8 +1093,6 @@ SC.RootResponder = SC.Object.extend({
|
|
1065
1093
|
this.makeTouchResponder(touch, target, shouldStack, YES);
|
1066
1094
|
},
|
1067
1095
|
|
1068
|
-
|
1069
|
-
|
1070
1096
|
/** @private
|
1071
1097
|
Artificially calls endTouch for any touch which is no longer present. This is necessary because
|
1072
1098
|
_sometimes_, WebKit ends up not sending endtouch.
|
@@ -1115,7 +1141,11 @@ SC.RootResponder = SC.Object.extend({
|
|
1115
1141
|
responder = responders[responderIdx];
|
1116
1142
|
while (responder) {
|
1117
1143
|
// tell it
|
1118
|
-
|
1144
|
+
try { // keep in mind that it might only _be_ here because it crashed...
|
1145
|
+
if (responder[action]) responder[action](touchEntry, evt);
|
1146
|
+
} catch(e) {
|
1147
|
+
console.error('crashed on endTouch');
|
1148
|
+
}
|
1119
1149
|
|
1120
1150
|
// check to see if the responder changed, and stop immediately if so.
|
1121
1151
|
if (touchEntry.touchResponder !== originalResponder) break;
|
@@ -1133,9 +1163,26 @@ SC.RootResponder = SC.Object.extend({
|
|
1133
1163
|
"Finishes" a touch. That is, it eradicates it from our touch entries and removes all responder, etc. properties.
|
1134
1164
|
*/
|
1135
1165
|
finishTouch: function(touch) {
|
1166
|
+
var elem;
|
1167
|
+
|
1136
1168
|
// ensure the touch is indeed unassigned.
|
1137
1169
|
this.unassignTouch(touch);
|
1138
1170
|
|
1171
|
+
// If we rescued this touch's initial element, we should remove it
|
1172
|
+
// from the DOM and garbage collect now. See setup() for an
|
1173
|
+
// explanation of this bug/workaround.
|
1174
|
+
if (elem = touch._rescuedElement) {
|
1175
|
+
if (elem.swapNode && elem.swapNode.parentNode) {
|
1176
|
+
elem.swapNode.parentNode.replaceChild(elem, elem.swapNode);
|
1177
|
+
} else if (elem.parentNode === SC.touchHoldingPen) {
|
1178
|
+
SC.touchHoldingPen.removeChild(elem);
|
1179
|
+
}
|
1180
|
+
delete touch._rescuedElement;
|
1181
|
+
elem.swapNode = null;
|
1182
|
+
elem = null;
|
1183
|
+
}
|
1184
|
+
|
1185
|
+
|
1139
1186
|
// clear responders (just to be thorough)
|
1140
1187
|
touch.touchResponders = null;
|
1141
1188
|
touch.touchResponder = null;
|
@@ -1158,16 +1205,16 @@ SC.RootResponder = SC.Object.extend({
|
|
1158
1205
|
@returns {Boolean}
|
1159
1206
|
*/
|
1160
1207
|
touchstart: function(evt) {
|
1161
|
-
|
1162
|
-
|
1163
|
-
// sometimes WebKit is a bit... iffy:
|
1164
|
-
this.endMissingTouches(evt.touches);
|
1208
|
+
var hidingTouchIntercept = NO;
|
1165
1209
|
|
1166
|
-
|
1167
|
-
|
1210
|
+
SC.run(function() {
|
1211
|
+
// sometimes WebKit is a bit... iffy:
|
1212
|
+
this.endMissingTouches(evt.touches);
|
1213
|
+
|
1214
|
+
// as you were...
|
1168
1215
|
// loop through changed touches, calling touchStart, etc.
|
1169
|
-
var idx, touches = evt.changedTouches, len = touches.length,
|
1170
|
-
|
1216
|
+
var idx, touches = evt.changedTouches, len = touches.length,
|
1217
|
+
target, view, touch, touchEntry;
|
1171
1218
|
|
1172
1219
|
// prepare event for touch mapping.
|
1173
1220
|
evt.touchContext = this;
|
@@ -1178,10 +1225,13 @@ SC.RootResponder = SC.Object.extend({
|
|
1178
1225
|
|
1179
1226
|
// Create an SC.Touch instance for every touch.
|
1180
1227
|
touchEntry = SC.Touch.create(touch, this);
|
1181
|
-
|
1228
|
+
|
1229
|
+
// skip the touch if there was no target
|
1230
|
+
if (!touchEntry.targetView) continue;
|
1231
|
+
|
1182
1232
|
// account for hidden touch intercept (passing through touches, etc.)
|
1183
1233
|
if (touchEntry.hidesTouchIntercept) hidingTouchIntercept = YES;
|
1184
|
-
|
1234
|
+
|
1185
1235
|
// set timestamp
|
1186
1236
|
touchEntry.timeStamp = evt.timeStamp;
|
1187
1237
|
|
@@ -1191,7 +1241,7 @@ SC.RootResponder = SC.Object.extend({
|
|
1191
1241
|
this._touches[touch.identifier] = touchEntry;
|
1192
1242
|
|
1193
1243
|
// set the event (so default action, etc. can be stopped)
|
1194
|
-
|
1244
|
+
touchEntry.event = evt; // will be unset momentarily
|
1195
1245
|
|
1196
1246
|
// send out event thing: creates a chain, goes up it, then down it,
|
1197
1247
|
// with startTouch and cancelTouch. in this case, only startTouch, as
|
@@ -1200,21 +1250,17 @@ SC.RootResponder = SC.Object.extend({
|
|
1200
1250
|
this.captureTouch(touchEntry, this);
|
1201
1251
|
|
1202
1252
|
// Unset the reference to the original event so we can garbage collect.
|
1203
|
-
|
1253
|
+
touchEntry.event = null;
|
1204
1254
|
}
|
1205
|
-
}
|
1206
|
-
SC.Logger.warn('Exception during touchStart: %@'.fmt(e)) ;
|
1207
|
-
SC.RunLoop.end();
|
1208
|
-
return NO ;
|
1209
|
-
}
|
1255
|
+
}, this);
|
1210
1256
|
|
1211
|
-
SC.RunLoop.end();
|
1212
1257
|
|
1258
|
+
// hack for text fields
|
1213
1259
|
if (hidingTouchIntercept) {
|
1214
|
-
evt.allowDefault();
|
1215
1260
|
return YES;
|
1216
1261
|
}
|
1217
|
-
|
1262
|
+
|
1263
|
+
return evt.hasCustomEventHandling;
|
1218
1264
|
},
|
1219
1265
|
|
1220
1266
|
/**
|
@@ -1222,9 +1268,7 @@ SC.RootResponder = SC.Object.extend({
|
|
1222
1268
|
used to keep track of when a specific type of touch event was last handled, to see if it needs to be re-handled
|
1223
1269
|
*/
|
1224
1270
|
touchmove: function(evt) {
|
1225
|
-
SC.
|
1226
|
-
|
1227
|
-
try {
|
1271
|
+
SC.run(function() {
|
1228
1272
|
// pretty much all we gotta do is update touches, and figure out which views need updating.
|
1229
1273
|
var touches = evt.changedTouches, touch, touchEntry,
|
1230
1274
|
idx, len = touches.length, view, changedTouches, viewTouches, firstTouch,
|
@@ -1241,14 +1285,14 @@ SC.RootResponder = SC.Object.extend({
|
|
1241
1285
|
|
1242
1286
|
// get our touch
|
1243
1287
|
touchEntry = this._touches[touch.identifier];
|
1244
|
-
if (touchEntry.hidesTouchIntercept) hidingTouchIntercept = YES;
|
1245
1288
|
|
1246
|
-
//
|
1289
|
+
// we may have no touch entry; this can happen if somehow the touch came to a non-SC area.
|
1247
1290
|
if (!touchEntry) {
|
1248
|
-
SC.Logger.log("Received a touchmove for a touch we don't know about. This is bad.");
|
1249
1291
|
continue;
|
1250
1292
|
}
|
1251
1293
|
|
1294
|
+
if (touchEntry.hidesTouchIntercept) hidingTouchIntercept = YES;
|
1295
|
+
|
1252
1296
|
// update touch
|
1253
1297
|
touchEntry.pageX = touch.pageX;
|
1254
1298
|
touchEntry.pageY = touch.pageY;
|
@@ -1258,7 +1302,7 @@ SC.RootResponder = SC.Object.extend({
|
|
1258
1302
|
// if the touch entry has a view
|
1259
1303
|
if (touchEntry.touchResponder) {
|
1260
1304
|
view = touchEntry.touchResponder;
|
1261
|
-
|
1305
|
+
|
1262
1306
|
guid = SC.guidFor(view);
|
1263
1307
|
// create a view entry
|
1264
1308
|
if (!changedViews[guid]) changedViews[guid] = { "view": view, "touches": [] };
|
@@ -1291,9 +1335,9 @@ SC.RootResponder = SC.Object.extend({
|
|
1291
1335
|
evt.touchContext = this; // so it can call touchesForView
|
1292
1336
|
|
1293
1337
|
// and go
|
1294
|
-
|
1338
|
+
view.tryToPerform("touchesDragged", evt, viewTouches);
|
1295
1339
|
}
|
1296
|
-
|
1340
|
+
|
1297
1341
|
// clear references to event
|
1298
1342
|
touches = evt.changedTouches;
|
1299
1343
|
len = touches.length;
|
@@ -1302,59 +1346,61 @@ SC.RootResponder = SC.Object.extend({
|
|
1302
1346
|
touchEntry = this._touches[touch.identifier];
|
1303
1347
|
touchEntry.event = null;
|
1304
1348
|
}
|
1305
|
-
}
|
1306
|
-
|
1307
|
-
|
1308
|
-
SC.RunLoop.end();
|
1309
|
-
|
1310
|
-
return NO;
|
1349
|
+
}, this);
|
1350
|
+
|
1351
|
+
return evt.hasCustomEventHandling;
|
1311
1352
|
},
|
1312
|
-
|
1353
|
+
|
1313
1354
|
touchend: function(evt) {
|
1314
|
-
|
1315
|
-
|
1355
|
+
var hidesTouchIntercept = NO;
|
1356
|
+
|
1357
|
+
SC.run(function() {
|
1316
1358
|
var touches = evt.changedTouches, touch, touchEntry,
|
1317
1359
|
idx, len = touches.length,
|
1318
1360
|
view, elem,
|
1319
1361
|
action = evt.isCancel ? "touchCancelled" : "touchEnd", a,
|
1320
|
-
responderIdx, responders, responder
|
1362
|
+
responderIdx, responders, responder;
|
1321
1363
|
|
1322
1364
|
for (idx = 0; idx < len; idx++) {
|
1323
1365
|
//get touch+entry
|
1324
1366
|
touch = touches[idx];
|
1325
1367
|
touch.type = 'touchend';
|
1326
1368
|
touchEntry = this._touches[touch.identifier];
|
1369
|
+
|
1370
|
+
// check if there is an entry
|
1371
|
+
if (!touchEntry) continue;
|
1372
|
+
|
1373
|
+
// continue work
|
1327
1374
|
touchEntry.timeStamp = evt.timeStamp;
|
1328
1375
|
touchEntry.pageX = touch.pageX;
|
1329
1376
|
touchEntry.pageY = touch.pageY;
|
1330
1377
|
touchEntry.type = 'touchend';
|
1331
|
-
|
1378
|
+
touchEntry.event = evt;
|
1379
|
+
|
1380
|
+
if (SC.LOG_TOUCH_EVENTS) SC.Logger.info('-- Received touch end');
|
1332
1381
|
if (touchEntry.hidesTouchIntercept) {
|
1333
1382
|
touchEntry.unhideTouchIntercept();
|
1334
1383
|
hidesTouchIntercept = YES;
|
1335
1384
|
}
|
1336
|
-
|
1385
|
+
|
1337
1386
|
if (this._drag) {
|
1338
1387
|
this._drag.tryToPerform('mouseUp', touch) ;
|
1339
1388
|
this._drag = null ;
|
1340
1389
|
}
|
1341
1390
|
|
1391
|
+
// unassign
|
1342
1392
|
this.endTouch(touchEntry, action, evt);
|
1343
1393
|
this.finishTouch(touchEntry);
|
1344
1394
|
}
|
1345
|
-
}
|
1346
|
-
SC.Logger.warn('Exception during touchEnd: %@'.fmt(e)) ;
|
1347
|
-
SC.RunLoop.end();
|
1348
|
-
return NO ;
|
1349
|
-
}
|
1395
|
+
}, this);
|
1350
1396
|
|
1351
|
-
SC.RunLoop.end();
|
1352
1397
|
|
1398
|
+
// for text fields
|
1353
1399
|
if (hidesTouchIntercept) {
|
1354
|
-
evt.allowDefault();
|
1355
1400
|
return YES;
|
1356
1401
|
}
|
1357
|
-
|
1402
|
+
|
1403
|
+
return evt.hasCustomEventHandling;
|
1358
1404
|
},
|
1359
1405
|
|
1360
1406
|
/** @private
|
@@ -1463,14 +1509,25 @@ SC.RootResponder = SC.Object.extend({
|
|
1463
1509
|
keydown: function(evt) {
|
1464
1510
|
if (SC.none(evt)) return YES;
|
1465
1511
|
|
1512
|
+
var keyCode = evt.keyCode;
|
1513
|
+
|
1466
1514
|
// Fix for IME input (japanese, mandarin).
|
1467
1515
|
// If the KeyCode is 229 wait for the keyup and
|
1468
1516
|
// trigger a keyDown if it is is enter onKeyup.
|
1469
|
-
if (
|
1517
|
+
if (keyCode===229){
|
1470
1518
|
this._IMEInputON = YES;
|
1471
1519
|
return this.sendEvent('keyDown', evt);
|
1472
1520
|
}
|
1473
1521
|
|
1522
|
+
// If user presses the escape key while we are in the middle of a
|
1523
|
+
// drag operation, cancel the drag operation and handle the event.
|
1524
|
+
if (keyCode === 27 && this._drag) {
|
1525
|
+
this._drag.cancelDrag();
|
1526
|
+
this._drag = null;
|
1527
|
+
this._mouseDownView = null;
|
1528
|
+
return YES;
|
1529
|
+
}
|
1530
|
+
|
1474
1531
|
// Firefox does NOT handle delete here...
|
1475
1532
|
if (SC.browser.mozilla && (evt.which === 8)) return true ;
|
1476
1533
|
|
@@ -1493,7 +1550,7 @@ SC.RootResponder = SC.Object.extend({
|
|
1493
1550
|
// processing.
|
1494
1551
|
|
1495
1552
|
// Arrow keys are handled in keypress for firefox
|
1496
|
-
if (
|
1553
|
+
if (keyCode>=37 && keyCode<=40 && SC.browser.mozilla) return YES;
|
1497
1554
|
|
1498
1555
|
|
1499
1556
|
ret = this.sendEvent('keyDown', evt) ;
|
@@ -1584,49 +1641,47 @@ SC.RootResponder = SC.Object.extend({
|
|
1584
1641
|
//
|
1585
1642
|
|
1586
1643
|
mousedown: function(evt) {
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1592
|
-
|
1593
|
-
|
1594
|
-
|
1595
|
-
|
1596
|
-
|
1597
|
-
|
1598
|
-
|
1599
|
-
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
|
1604
|
-
this.
|
1605
|
-
|
1606
|
-
|
1607
|
-
var fr, view = this.targetViewForEvent(evt) ;
|
1644
|
+
if (SC.platform.touch) {
|
1645
|
+
evt.allowDefault();
|
1646
|
+
return YES;
|
1647
|
+
}
|
1648
|
+
|
1649
|
+
if(!SC.browser.msie) window.focus();
|
1650
|
+
|
1651
|
+
// First, save the click count. The click count resets if the mouse down
|
1652
|
+
// event occurs more than 200 ms later than the mouse up event or more
|
1653
|
+
// than 8 pixels away from the mouse down event.
|
1654
|
+
this._clickCount += 1 ;
|
1655
|
+
if (!this._lastMouseUpAt || ((Date.now()-this._lastMouseUpAt) > 200)) {
|
1656
|
+
this._clickCount = 1 ;
|
1657
|
+
} else {
|
1658
|
+
var deltaX = this._lastMouseDownX - evt.clientX,
|
1659
|
+
deltaY = this._lastMouseDownY - evt.clientY,
|
1660
|
+
distance = Math.sqrt(deltaX*deltaX + deltaY*deltaY) ;
|
1661
|
+
if (distance > 8.0) this._clickCount = 1 ;
|
1662
|
+
}
|
1663
|
+
evt.clickCount = this._clickCount ;
|
1608
1664
|
|
1609
|
-
|
1610
|
-
|
1611
|
-
// focus unless you click on a list, another textfield or an special
|
1612
|
-
// view/control.
|
1665
|
+
this._lastMouseDownX = evt.clientX ;
|
1666
|
+
this._lastMouseDownY = evt.clientY ;
|
1613
1667
|
|
1614
|
-
|
1668
|
+
var fr, view = this.targetViewForEvent(evt) ;
|
1615
1669
|
|
1616
|
-
|
1617
|
-
|
1618
|
-
|
1670
|
+
// InlineTextField needs to loose firstResponder whenever you click outside
|
1671
|
+
// the view. This is a special case as textfields are not supposed to loose
|
1672
|
+
// focus unless you click on a list, another textfield or an special
|
1673
|
+
// view/control.
|
1619
1674
|
|
1620
|
-
|
1621
|
-
if (view && view.respondsTo('mouseDragged')) this._mouseCanDrag = YES ;
|
1622
|
-
} catch (e) {
|
1675
|
+
if(view) fr=view.getPath('pane.firstResponder');
|
1623
1676
|
|
1624
|
-
|
1625
|
-
|
1626
|
-
this._mouseCanDrag = NO ;
|
1627
|
-
throw e;
|
1677
|
+
if(fr && fr.kindOf(SC.InlineTextFieldView) && fr!==view){
|
1678
|
+
fr.resignFirstResponder();
|
1628
1679
|
}
|
1629
1680
|
|
1681
|
+
view = this._mouseDownView = this.sendEvent('mouseDown', evt, view) ;
|
1682
|
+
if (view && view.respondsTo('mouseDragged')) this._mouseCanDrag = YES ;
|
1683
|
+
|
1684
|
+
|
1630
1685
|
return view ? evt.hasCustomEventHandling : YES;
|
1631
1686
|
},
|
1632
1687
|
|
@@ -1638,56 +1693,58 @@ SC.RootResponder = SC.Object.extend({
|
|
1638
1693
|
sent.
|
1639
1694
|
*/
|
1640
1695
|
mouseup: function(evt) {
|
1696
|
+
if (SC.platform.touch) {
|
1697
|
+
evt.allowDefault();
|
1698
|
+
return YES;
|
1699
|
+
}
|
1700
|
+
|
1641
1701
|
this.targetViewForEvent(evt);
|
1642
|
-
|
1643
|
-
|
1644
|
-
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1648
|
-
var handler = null, view = this._mouseDownView,
|
1649
|
-
targetView = this.targetViewForEvent(evt);
|
1650
|
-
this._lastMouseUpAt = Date.now() ;
|
1702
|
+
|
1703
|
+
if (this._drag) {
|
1704
|
+
this._drag.tryToPerform('mouseUp', evt) ;
|
1705
|
+
this._drag = null ;
|
1706
|
+
}
|
1651
1707
|
|
1652
|
-
|
1653
|
-
|
1708
|
+
var handler = null, view = this._mouseDownView,
|
1709
|
+
targetView = this.targetViewForEvent(evt);
|
1710
|
+
this._lastMouseUpAt = Date.now() ;
|
1654
1711
|
|
1655
|
-
|
1656
|
-
|
1657
|
-
if (view) {
|
1658
|
-
handler = this.sendEvent('mouseUp', evt, view) ;
|
1712
|
+
// record click count.
|
1713
|
+
evt.clickCount = this._clickCount ;
|
1659
1714
|
|
1660
|
-
|
1661
|
-
|
1662
|
-
|
1663
|
-
|
1715
|
+
// attempt the mouseup call only if there's a target.
|
1716
|
+
// don't want a mouseup going to anyone unless they handled the mousedown...
|
1717
|
+
if (view) {
|
1718
|
+
handler = this.sendEvent('mouseUp', evt, view) ;
|
1664
1719
|
|
1665
|
-
|
1666
|
-
|
1667
|
-
|
1668
|
-
}
|
1720
|
+
// try doubleClick
|
1721
|
+
if (!handler && (this._clickCount === 2)) {
|
1722
|
+
handler = this.sendEvent('doubleClick', evt, view) ;
|
1669
1723
|
}
|
1670
1724
|
|
1671
|
-
// try
|
1725
|
+
// try single click
|
1672
1726
|
if (!handler) {
|
1727
|
+
handler = this.sendEvent('click', evt, view) ;
|
1728
|
+
}
|
1729
|
+
}
|
1673
1730
|
|
1674
|
-
|
1675
|
-
|
1676
|
-
handler = this.sendEvent('doubleClick', evt, targetView);
|
1677
|
-
}
|
1731
|
+
// try whoever's under the mouse if we haven't handle the mouse up yet
|
1732
|
+
if (!handler) {
|
1678
1733
|
|
1679
|
-
|
1680
|
-
|
1681
|
-
|
1682
|
-
}
|
1734
|
+
// try doubleClick
|
1735
|
+
if (this._clickCount === 2) {
|
1736
|
+
handler = this.sendEvent('doubleClick', evt, targetView);
|
1683
1737
|
}
|
1684
1738
|
|
1685
|
-
//
|
1686
|
-
|
1687
|
-
|
1688
|
-
|
1689
|
-
throw e;
|
1739
|
+
// try singleClick
|
1740
|
+
if (!handler) {
|
1741
|
+
handler = this.sendEvent('click', evt, targetView) ;
|
1742
|
+
}
|
1690
1743
|
}
|
1744
|
+
|
1745
|
+
// cleanup
|
1746
|
+
this._mouseCanDrag = NO; this._mouseDownView = null ;
|
1747
|
+
|
1691
1748
|
return (handler) ? evt.hasCustomEventHandling : YES ;
|
1692
1749
|
},
|
1693
1750
|
|
@@ -1700,12 +1757,9 @@ SC.RootResponder = SC.Object.extend({
|
|
1700
1757
|
},
|
1701
1758
|
|
1702
1759
|
mousewheel: function(evt) {
|
1703
|
-
|
1704
|
-
|
1705
|
-
|
1706
|
-
} catch (e) {
|
1707
|
-
throw e;
|
1708
|
-
}
|
1760
|
+
var view = this.targetViewForEvent(evt) ,
|
1761
|
+
handler = this.sendEvent('mouseWheel', evt, view) ;
|
1762
|
+
|
1709
1763
|
return (handler) ? evt.hasCustomEventHandling : YES ;
|
1710
1764
|
},
|
1711
1765
|
|
@@ -1721,6 +1775,11 @@ SC.RootResponder = SC.Object.extend({
|
|
1721
1775
|
trigger calls to mouseDragged.
|
1722
1776
|
*/
|
1723
1777
|
mousemove: function(evt) {
|
1778
|
+
if (SC.platform.touch) {
|
1779
|
+
evt.allowDefault();
|
1780
|
+
return YES;
|
1781
|
+
}
|
1782
|
+
|
1724
1783
|
if (SC.browser.msie) {
|
1725
1784
|
if (this._lastMoveX === evt.clientX && this._lastMoveY === evt.clientY) return;
|
1726
1785
|
}
|
@@ -1730,68 +1789,64 @@ SC.RootResponder = SC.Object.extend({
|
|
1730
1789
|
this._lastMoveX = evt.clientX;
|
1731
1790
|
this._lastMoveY = evt.clientY;
|
1732
1791
|
|
1733
|
-
SC.
|
1734
|
-
|
1735
|
-
|
1736
|
-
//
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1747
|
-
|
1748
|
-
|
1749
|
-
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1761
|
-
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1787
|
-
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
} catch (e) {
|
1792
|
-
throw e;
|
1793
|
-
}
|
1794
|
-
SC.RunLoop.end();
|
1792
|
+
SC.run(function() {
|
1793
|
+
// make sure the view gets focus no matter what. FF is inconsistant
|
1794
|
+
// about this.
|
1795
|
+
// this.focus();
|
1796
|
+
// only do mouse[Moved|Entered|Exited|Dragged] if not in a drag session
|
1797
|
+
// drags send their own events, e.g. drag[Moved|Entered|Exited]
|
1798
|
+
if (this._drag) {
|
1799
|
+
//IE triggers mousemove at the same time as mousedown
|
1800
|
+
if(SC.browser.msie){
|
1801
|
+
if (this._lastMouseDownX !== evt.clientX || this._lastMouseDownY !== evt.clientY) {
|
1802
|
+
this._drag.tryToPerform('mouseDragged', evt);
|
1803
|
+
}
|
1804
|
+
}
|
1805
|
+
else {
|
1806
|
+
this._drag.tryToPerform('mouseDragged', evt);
|
1807
|
+
}
|
1808
|
+
} else {
|
1809
|
+
var lh = this._lastHovered || [] , nh = [] , exited, loc, len,
|
1810
|
+
view = this.targetViewForEvent(evt) ;
|
1811
|
+
|
1812
|
+
// work up the view chain. Notify of mouse entered and
|
1813
|
+
// mouseMoved if implemented.
|
1814
|
+
while(view && (view !== this)) {
|
1815
|
+
if (lh.indexOf(view) !== -1) {
|
1816
|
+
view.tryToPerform('mouseMoved', evt);
|
1817
|
+
nh.push(view) ;
|
1818
|
+
} else {
|
1819
|
+
view.tryToPerform('mouseEntered', evt);
|
1820
|
+
nh.push(view) ;
|
1821
|
+
}
|
1822
|
+
|
1823
|
+
view = view.get('nextResponder');
|
1824
|
+
}
|
1825
|
+
// now find those views last hovered over that were no longer found
|
1826
|
+
// in this chain and notify of mouseExited.
|
1827
|
+
for(loc=0, len=lh.length; loc < len; loc++) {
|
1828
|
+
view = lh[loc] ;
|
1829
|
+
exited = view.respondsTo('mouseExited') ;
|
1830
|
+
if (exited && !(nh.indexOf(view) !== -1)) {
|
1831
|
+
view.tryToPerform('mouseExited',evt);
|
1832
|
+
}
|
1833
|
+
}
|
1834
|
+
this._lastHovered = nh;
|
1835
|
+
|
1836
|
+
// also, if a mouseDownView exists, call the mouseDragged action, if
|
1837
|
+
// it exists.
|
1838
|
+
if (this._mouseDownView) {
|
1839
|
+
if(SC.browser.msie){
|
1840
|
+
if (this._lastMouseDownX !== evt.clientX && this._lastMouseDownY !== evt.clientY) {
|
1841
|
+
this._mouseDownView.tryToPerform('mouseDragged', evt);
|
1842
|
+
}
|
1843
|
+
}
|
1844
|
+
else {
|
1845
|
+
this._mouseDownView.tryToPerform('mouseDragged', evt);
|
1846
|
+
}
|
1847
|
+
}
|
1848
|
+
}
|
1849
|
+
}, this);
|
1795
1850
|
},
|
1796
1851
|
|
1797
1852
|
// these methods are used to prevent unnecessary text-selection in IE,
|
@@ -1918,7 +1973,7 @@ SC.Touch.prototype = {
|
|
1918
1973
|
the hasCustomEventHandling property to YES but does not cancel the event.
|
1919
1974
|
*/
|
1920
1975
|
allowDefault: function() {
|
1921
|
-
this.hasCustomEventHandling = YES ;
|
1976
|
+
this.event.hasCustomEventHandling = YES ;
|
1922
1977
|
},
|
1923
1978
|
|
1924
1979
|
/**
|
@@ -1935,7 +1990,7 @@ SC.Touch.prototype = {
|
|
1935
1990
|
stop: function() {
|
1936
1991
|
if (this.event) this.event.stop();
|
1937
1992
|
},
|
1938
|
-
|
1993
|
+
|
1939
1994
|
/**
|
1940
1995
|
Removes from and calls touchEnd on the touch responder.
|
1941
1996
|
*/
|
@@ -1952,6 +2007,7 @@ SC.Touch.prototype = {
|
|
1952
2007
|
this.touchContext.makeTouchResponder(this, responder, shouldStack, upViewChain);
|
1953
2008
|
},
|
1954
2009
|
|
2010
|
+
|
1955
2011
|
/**
|
1956
2012
|
Captures, or recaptures, the touch. This works from the touch's raw target view
|
1957
2013
|
up to the startingPoint, and finds either a view that returns YES to captureTouch() or
|