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
@@ -42,6 +42,15 @@ SC.ScrollerView = SC.View.extend(
|
|
42
42
|
// PROPERTIES
|
43
43
|
//
|
44
44
|
|
45
|
+
/**
|
46
|
+
If YES, a click on the track will cause the scrollbar to scroll to that position.
|
47
|
+
Otherwise, a click on the track will cause a page down.
|
48
|
+
|
49
|
+
In either case, alt-clicks will perform the opposite behavior.
|
50
|
+
*/
|
51
|
+
shouldScrollToClick: NO,
|
52
|
+
|
53
|
+
|
45
54
|
/**
|
46
55
|
@private
|
47
56
|
The in-touch-scroll value.
|
@@ -419,6 +428,24 @@ SC.ScrollerView = SC.View.extend(
|
|
419
428
|
// ..........................................................
|
420
429
|
// MOUSE EVENTS
|
421
430
|
//
|
431
|
+
|
432
|
+
/**
|
433
|
+
Returns the value for a position within the scroller's frame.
|
434
|
+
|
435
|
+
@private
|
436
|
+
*/
|
437
|
+
valueForPosition: function(pos) {
|
438
|
+
var max = this.get('maximum'),
|
439
|
+
trackLength = this.get('trackLength'),
|
440
|
+
thumbLength = this.get('thumbLength'),
|
441
|
+
capLength = this.get('capLength'),
|
442
|
+
capOverlap = this.get('capOverlap'), value;
|
443
|
+
|
444
|
+
value = pos - (capLength - capOverlap);
|
445
|
+
value = value / (trackLength - thumbLength);
|
446
|
+
value = value * max;
|
447
|
+
return value;
|
448
|
+
},
|
422
449
|
|
423
450
|
/**
|
424
451
|
Handles mouse down events and adjusts the value property depending where
|
@@ -429,9 +456,11 @@ SC.ScrollerView = SC.View.extend(
|
|
429
456
|
If the user clicks the thumb, we note the position of the mouse event but
|
430
457
|
do not take further action until they begin to drag.
|
431
458
|
|
432
|
-
If the user clicks the track, we adjust the value a page at a time
|
459
|
+
If the user clicks the track, we adjust the value a page at a time, unless
|
460
|
+
alt is pressed, in which case we scroll to that position.
|
433
461
|
|
434
|
-
If the user clicks the buttons, we adjust the value by a fixed amount
|
462
|
+
If the user clicks the buttons, we adjust the value by a fixed amount, unless
|
463
|
+
alt is pressed, in which case we adjust by a page.
|
435
464
|
|
436
465
|
If the user clicks and holds on either the track or buttons, those actions
|
437
466
|
are repeated until they release the mouse button.
|
@@ -441,11 +470,16 @@ SC.ScrollerView = SC.View.extend(
|
|
441
470
|
*/
|
442
471
|
mouseDown: function(evt) {
|
443
472
|
if (!this.get('isEnabled')) return NO;
|
473
|
+
|
474
|
+
// keep note of altIsDown for later.
|
475
|
+
this._altIsDown = evt.altKey;
|
476
|
+
this._shiftIsDown = evt.shiftKey;
|
444
477
|
|
445
478
|
var target = evt.target,
|
446
479
|
thumbPosition = this.get('thumbPosition'),
|
447
|
-
value, clickLocation, clickOffset
|
448
|
-
|
480
|
+
value, clickLocation, clickOffset,
|
481
|
+
scrollerLength = this.get('scrollerLength');
|
482
|
+
|
449
483
|
// Determine the subcontrol that was clicked
|
450
484
|
if (target.className.indexOf('thumb') >= 0) {
|
451
485
|
// Convert the mouseDown coordinates to the view's coordinates
|
@@ -460,23 +494,30 @@ SC.ScrollerView = SC.View.extend(
|
|
460
494
|
this._thumbOffset = clickLocation;
|
461
495
|
this._mouseDownLocation = { x: evt.pageX, y: evt.pageY };
|
462
496
|
this._thumbPositionAtDragStart = this.get('thumbPosition');
|
497
|
+
this._valueAtDragStart = this.get("value");
|
463
498
|
} else if (target.className.indexOf('button-top') >= 0) {
|
464
499
|
// User clicked the up/left button
|
465
|
-
// Decrement the value by a fixed amount
|
466
|
-
this.decrementProperty('value', 30);
|
500
|
+
// Decrement the value by a fixed amount or page size
|
501
|
+
this.decrementProperty('value', (this._altIsDown ? scrollerLength : 30));
|
467
502
|
this.makeButtonActive('.button-top');
|
468
503
|
// start a timer that will continue to fire until mouseUp is called
|
469
504
|
this.startMouseDownTimer('scrollUp');
|
505
|
+
this._isScrollingUp = YES;
|
470
506
|
} else if (target.className.indexOf('button-bottom') >= 0) {
|
471
507
|
// User clicked the down/right button
|
472
508
|
// Increment the value by a fixed amount
|
473
|
-
this.incrementProperty('value', 30);
|
509
|
+
this.incrementProperty('value', (this._altIsDown ? scrollerLength : 30));
|
474
510
|
this.makeButtonActive('.button-bottom');
|
475
511
|
// start a timer that will continue to fire until mouseUp is called
|
476
512
|
this.startMouseDownTimer('scrollDown');
|
513
|
+
this._isScrollingDown = YES;
|
477
514
|
} else {
|
478
515
|
// User clicked in the track
|
479
|
-
|
516
|
+
var scrollToClick = this.get("shouldScrollToClick");
|
517
|
+
if (evt.altKey) scrollToClick = !scrollToClick;
|
518
|
+
|
519
|
+
var trackLength = this.get('trackLength'),
|
520
|
+
thumbLength = this.get('thumbLength'),
|
480
521
|
frame = this.convertFrameFromView({ x: evt.pageX, y: evt.pageY }),
|
481
522
|
mousePosition;
|
482
523
|
|
@@ -488,16 +529,30 @@ SC.ScrollerView = SC.View.extend(
|
|
488
529
|
this._mouseDownLocation = mousePosition = frame.x;
|
489
530
|
break;
|
490
531
|
}
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
this.
|
532
|
+
|
533
|
+
if (scrollToClick) {
|
534
|
+
this.set('value', this.valueForPosition(mousePosition - (thumbLength / 2)));
|
535
|
+
|
536
|
+
// and start a normal mouse down
|
537
|
+
thumbPosition = this.get('thumbPosition');
|
538
|
+
|
539
|
+
this._thumbDragging = YES;
|
540
|
+
this._thumbOffset = {x: frame.x - thumbPosition, y: frame.y - thumbPosition };
|
541
|
+
this._mouseDownLocation = {x:evt.pageX, y:evt.pageY};
|
542
|
+
this._thumbPositionAtDragStart = thumbPosition;
|
543
|
+
this._valueAtDragStart = this.get("value");
|
497
544
|
} else {
|
498
|
-
|
499
|
-
|
545
|
+
// Move the thumb up or down a page depending on whether the click
|
546
|
+
// was above or below the thumb
|
547
|
+
if (mousePosition < thumbPosition) {
|
548
|
+
this.decrementProperty('value',scrollerLength);
|
549
|
+
this.startMouseDownTimer('page');
|
550
|
+
} else {
|
551
|
+
this.incrementProperty('value', scrollerLength);
|
552
|
+
this.startMouseDownTimer('page');
|
553
|
+
}
|
500
554
|
}
|
555
|
+
|
501
556
|
}
|
502
557
|
|
503
558
|
return YES;
|
@@ -529,6 +584,8 @@ SC.ScrollerView = SC.View.extend(
|
|
529
584
|
}
|
530
585
|
|
531
586
|
this._thumbDragging = NO;
|
587
|
+
this._isScrollingDown = NO;
|
588
|
+
this._isScrollingUp = NO;
|
532
589
|
|
533
590
|
return ret;
|
534
591
|
},
|
@@ -537,29 +594,99 @@ SC.ScrollerView = SC.View.extend(
|
|
537
594
|
If the user began the drag on the thumb, we calculate the difference
|
538
595
|
between the mouse position at click and where it is now. We then
|
539
596
|
offset the thumb by that amount, within the bounds of the track.
|
597
|
+
|
598
|
+
If the user began scrolling up/down using the buttons, this will track
|
599
|
+
what component they are currently over, changing the scroll direction.
|
540
600
|
|
541
601
|
@param evt {SC.Event} the mousedragged event
|
542
602
|
@private
|
543
603
|
*/
|
544
604
|
mouseDragged: function(evt) {
|
545
605
|
var value, length, delta, thumbPosition,
|
546
|
-
|
606
|
+
target = evt.target,
|
607
|
+
thumbPositionAtDragStart = this._thumbPositionAtDragStart,
|
608
|
+
isScrollingUp = this._isScrollingUp,
|
609
|
+
isScrollingDown = this._isScrollingDown,
|
610
|
+
active = this._scs_buttonActive,
|
611
|
+
timer;
|
547
612
|
|
548
613
|
// Only move the thumb if the user clicked on the thumb during mouseDown
|
549
|
-
if (
|
614
|
+
if (this._thumbDragging) {
|
615
|
+
|
616
|
+
switch (this.get('layoutDirection')) {
|
617
|
+
case SC.LAYOUT_VERTICAL:
|
618
|
+
delta = (evt.pageY - this._mouseDownLocation.y);
|
619
|
+
break;
|
620
|
+
case SC.LAYOUT_HORIZONTAL:
|
621
|
+
delta = (evt.pageX - this._mouseDownLocation.x);
|
622
|
+
break;
|
623
|
+
}
|
624
|
+
|
625
|
+
// if we are in alt now, but were not before, update the old thumb position to the new one
|
626
|
+
if (evt.altKey) {
|
627
|
+
if (!this._altIsDown || (this._shiftIsDown !== evt.shiftKey)) {
|
628
|
+
thumbPositionAtDragStart = this._thumbPositionAtDragStart = thumbPositionAtDragStart+delta;
|
629
|
+
delta = 0;
|
630
|
+
this._mouseDownLocation = { x: evt.pageX, y: evt.pageY };
|
631
|
+
this._valueAtDragStart = this.get("value");
|
632
|
+
}
|
633
|
+
|
634
|
+
// because I feel like it. Probably almost no one will find this tiny, buried feature.
|
635
|
+
// Too bad.
|
636
|
+
if (evt.shiftKey) delta = -delta;
|
637
|
+
|
638
|
+
this.set('value', Math.round(this._valueAtDragStart + delta * 2));
|
639
|
+
} else {
|
640
|
+
thumbPosition = thumbPositionAtDragStart + delta;
|
641
|
+
length = this.get('trackLength') - this.get('thumbLength');
|
642
|
+
this.set('value', Math.round( (thumbPosition/length) * this.get('maximum')));
|
643
|
+
}
|
644
|
+
|
645
|
+
} else if (isScrollingUp || isScrollingDown) {
|
646
|
+
var nowScrollingUp = NO, nowScrollingDown = NO;
|
647
|
+
|
648
|
+
var topButtonRect = this.$('.button-top')[0].getBoundingClientRect();
|
649
|
+
var bottomButtonRect = this.$('.button-bottom')[0].getBoundingClientRect();
|
650
|
+
|
651
|
+
switch (this.get('layoutDirection')) {
|
652
|
+
case SC.LAYOUT_VERTICAL:
|
653
|
+
if (evt.pageY < topButtonRect.bottom) nowScrollingUp = YES;
|
654
|
+
else nowScrollingDown = YES;
|
655
|
+
break;
|
656
|
+
case SC.LAYOUT_HORIZONTAL:
|
657
|
+
if (evt.pageX < topButtonRect.right) nowScrollingUp = YES;
|
658
|
+
else nowScrollingDown = YES;
|
659
|
+
break;
|
660
|
+
}
|
661
|
+
|
662
|
+
if ((nowScrollingUp || nowScrollingDown) && nowScrollingUp !== isScrollingUp){
|
663
|
+
//
|
664
|
+
// STOP OLD
|
665
|
+
//
|
666
|
+
|
667
|
+
// If we have an element that was set as active in mouseDown,
|
668
|
+
// remove its active state
|
669
|
+
if (active) {
|
670
|
+
active.removeClass('active');
|
671
|
+
}
|
550
672
|
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
673
|
+
// Stop firing repeating events after mouseup
|
674
|
+
this._mouseDownTimerAction = nowScrollingUp ? "scrollUp" : "scrollDown";
|
675
|
+
|
676
|
+
if (nowScrollingUp) {
|
677
|
+
this.makeButtonActive('.button-top');
|
678
|
+
} else if (nowScrollingDown) {
|
679
|
+
this.makeButtonActive('.button-bottom');
|
680
|
+
}
|
681
|
+
|
682
|
+
this._isScrollingUp = nowScrollingUp;
|
683
|
+
this._isScrollingDown = nowScrollingDown;
|
684
|
+
}
|
558
685
|
}
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
this.
|
686
|
+
|
687
|
+
|
688
|
+
this._altIsDown = evt.altKey;
|
689
|
+
this._shiftIsDown = evt.shiftKey;
|
563
690
|
return YES;
|
564
691
|
},
|
565
692
|
|
@@ -568,15 +695,17 @@ SC.ScrollerView = SC.View.extend(
|
|
568
695
|
clicks a button or inside the track to move a page at a time. If they
|
569
696
|
continue holding the mouse button down, we want to repeat that action
|
570
697
|
after a small delay. This timer will be invalidated in mouseUp.
|
698
|
+
|
699
|
+
Specify "immediate" as YES if it should not wait.
|
571
700
|
|
572
701
|
@private
|
573
702
|
*/
|
574
|
-
startMouseDownTimer: function(action) {
|
703
|
+
startMouseDownTimer: function(action, immediate) {
|
575
704
|
var timer;
|
576
705
|
|
577
706
|
this._mouseDownTimerAction = action;
|
578
707
|
this._mouseDownTimer = SC.Timer.schedule({
|
579
|
-
target: this, action: this.mouseDownTimerDidFire, interval: 300
|
708
|
+
target: this, action: this.mouseDownTimerDidFire, interval: immediate ? 0 : 300
|
580
709
|
});
|
581
710
|
},
|
582
711
|
|
@@ -604,10 +733,10 @@ SC.ScrollerView = SC.View.extend(
|
|
604
733
|
|
605
734
|
switch (this._mouseDownTimerAction) {
|
606
735
|
case 'scrollDown':
|
607
|
-
this.incrementProperty('value', 30);
|
736
|
+
this.incrementProperty('value', this._altIsDown ? scrollerLength : 30);
|
608
737
|
break;
|
609
738
|
case 'scrollUp':
|
610
|
-
this.decrementProperty('value', 30);
|
739
|
+
this.decrementProperty('value', this._altIsDown ? scrollerLength : 30);
|
611
740
|
break;
|
612
741
|
case 'page':
|
613
742
|
timerInterval = 150;
|
@@ -636,4 +765,120 @@ SC.ScrollerView = SC.View.extend(
|
|
636
765
|
}
|
637
766
|
});
|
638
767
|
|
768
|
+
// TO BE EVENTUALLY REPLACED W/RENDERERS FROM QUILMES
|
769
|
+
SC.TouchScrollerView = SC.ScrollerView.extend({
|
770
|
+
classNames: ['sc-touch-scroller-view'],
|
771
|
+
scrollbarThickness: 12,
|
772
|
+
capLength: 5,
|
773
|
+
capOverlap: 0,
|
774
|
+
hasButtons: NO,
|
775
|
+
buttonOverlap: 36,
|
776
|
+
|
777
|
+
adjustThumb: function(thumb, position, length) {
|
778
|
+
var thumbInner = this.$('.thumb-inner');
|
779
|
+
var max = this.get("scrollerLength") - this.capLength, min = this.get("minimum") + this.capLength;
|
780
|
+
|
781
|
+
if (position + length > max) {
|
782
|
+
position = Math.min(max - 20, position);
|
783
|
+
length = max - position;
|
784
|
+
}
|
785
|
+
|
786
|
+
if (position < min) {
|
787
|
+
length -= min - position;
|
788
|
+
position = min;
|
789
|
+
}
|
790
|
+
|
791
|
+
switch (this.get('layoutDirection')) {
|
792
|
+
case SC.LAYOUT_VERTICAL:
|
793
|
+
if (this._thumbPosition !== position) thumb.css('-webkit-transform', 'translate3d(0px,' + position + 'px,0px)');
|
794
|
+
if (this._thumbSize !== length) {
|
795
|
+
thumbInner.css('-webkit-transform', 'translate3d(0px,' + Math.round(length - 1044) + 'px,0px)');
|
796
|
+
}
|
797
|
+
break;
|
798
|
+
case SC.LAYOUT_HORIZONTAL:
|
799
|
+
if (this._thumbPosition !== position) thumb.css('-webkit-transform', 'translate3d(' + position + 'px,0px,0px)');
|
800
|
+
if (this._thumbSize !== length) {
|
801
|
+
thumbInner.css('-webkit-transform', 'translate3d(' + Math.round(length - 1044) + 'px,0px,0px)');
|
802
|
+
}
|
803
|
+
break;
|
804
|
+
}
|
805
|
+
|
806
|
+
this._thumbPosition = position;
|
807
|
+
this._thumbSize = length;
|
808
|
+
},
|
809
|
+
|
810
|
+
render: function(context, firstTime) {
|
811
|
+
var classNames = [],
|
812
|
+
buttons = '',
|
813
|
+
thumbPosition, thumbLength, thumbCenterLength, thumbElement,
|
814
|
+
value, max, scrollerLength, length, pct;
|
815
|
+
|
816
|
+
// We set a class name depending on the layout direction so that we can
|
817
|
+
// style them differently using CSS.
|
818
|
+
switch (this.get('layoutDirection')) {
|
819
|
+
case SC.LAYOUT_VERTICAL:
|
820
|
+
classNames.push('sc-vertical');
|
821
|
+
break;
|
822
|
+
case SC.LAYOUT_HORIZONTAL:
|
823
|
+
classNames.push('sc-horizontal');
|
824
|
+
break;
|
825
|
+
}
|
639
826
|
|
827
|
+
// The appearance of the scroller changes if disabled
|
828
|
+
if (!this.get('isEnabled')) classNames.push('disabled');
|
829
|
+
// Whether to hide the thumb and buttons
|
830
|
+
if (this.get('controlsHidden')) classNames.push('controls-hidden');
|
831
|
+
|
832
|
+
// Change the class names of the DOM element all at once to improve
|
833
|
+
// performance
|
834
|
+
context.addClass(classNames);
|
835
|
+
|
836
|
+
// Calculate the position and size of the thumb
|
837
|
+
thumbLength = this.get('thumbLength');
|
838
|
+
thumbPosition = this.get('thumbPosition');
|
839
|
+
|
840
|
+
// If this is the first time, generate the actual HTML
|
841
|
+
if (firstTime) {
|
842
|
+
if (this.get('hasButtons')) {
|
843
|
+
buttons = '<div class="button-bottom"></div><div class="button-top"></div>';
|
844
|
+
} else {
|
845
|
+
buttons = '<div class="endcap"></div>';
|
846
|
+
}
|
847
|
+
|
848
|
+
switch (this.get('layoutDirection')) {
|
849
|
+
case SC.LAYOUT_VERTICAL:
|
850
|
+
context.push('<div class="track"></div>',
|
851
|
+
'<div class="cap"></div>',
|
852
|
+
buttons,
|
853
|
+
'<div class="thumb">',
|
854
|
+
'<div class="thumb-top"></div>',
|
855
|
+
'<div class="thumb-clip">',
|
856
|
+
'<div class="thumb-inner" style="-webkit-transform: translateY('+(thumbLength-1044)+'px);">',
|
857
|
+
'<div class="thumb-center"></div>',
|
858
|
+
'<div class="thumb-bottom"></div></div></div></div>');
|
859
|
+
break;
|
860
|
+
case SC.LAYOUT_HORIZONTAL:
|
861
|
+
context.push('<div class="track"></div>',
|
862
|
+
'<div class="cap"></div>',
|
863
|
+
buttons,
|
864
|
+
'<div class="thumb">',
|
865
|
+
'<div class="thumb-top"></div>',
|
866
|
+
'<div class="thumb-clip">',
|
867
|
+
'<div class="thumb-inner" style="-webkit-transform: translateX('+(thumbLength-1044)+'px);">',
|
868
|
+
'<div class="thumb-center"></div>',
|
869
|
+
'<div class="thumb-bottom"></div></div></div></div>');
|
870
|
+
}
|
871
|
+
} else {
|
872
|
+
// The HTML has already been generated, so all we have to do is
|
873
|
+
// reposition and resize the thumb
|
874
|
+
|
875
|
+
// If we aren't displaying controls don't bother
|
876
|
+
if (this.get('controlsHidden')) return;
|
877
|
+
|
878
|
+
thumbElement = this.$('.thumb');
|
879
|
+
|
880
|
+
this.adjustThumb(thumbElement, thumbPosition, thumbLength);
|
881
|
+
}
|
882
|
+
}
|
883
|
+
|
884
|
+
});
|
@@ -43,7 +43,7 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
43
43
|
|
44
44
|
classNames: ['sc-segmented-view'],
|
45
45
|
|
46
|
-
|
46
|
+
theme: 'square',
|
47
47
|
|
48
48
|
/**
|
49
49
|
The value of the segmented view.
|
@@ -196,16 +196,7 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
196
196
|
// if the item is a string, build the array using defaults...
|
197
197
|
itemType = SC.typeOf(item);
|
198
198
|
if (itemType === SC.T_STRING) {
|
199
|
-
cur =
|
200
|
-
title: item.humanize().titleize(),
|
201
|
-
value: item,
|
202
|
-
isEnabled: YES,
|
203
|
-
icon: null,
|
204
|
-
width: null,
|
205
|
-
toolTip: null,
|
206
|
-
index: idx
|
207
|
-
};
|
208
|
-
// cur = [item.humanize().titleize(), item, YES, null, null, null, idx] ;
|
199
|
+
cur = [item.humanize().titleize(), item, YES, null, null, null, idx] ;
|
209
200
|
|
210
201
|
// if the item is not an array, try to use the itemKeys.
|
211
202
|
} else if (itemType !== SC.T_ARRAY) {
|
@@ -216,33 +207,23 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
216
207
|
|
217
208
|
// now loop through the keys and try to get the values on the item
|
218
209
|
cur = keys.map(fetchItem, item);
|
219
|
-
|
220
|
-
// create the actual item
|
221
|
-
cur = {
|
222
|
-
title: cur[0],
|
223
|
-
value: cur[1],
|
224
|
-
isEnabled: cur[2],
|
225
|
-
icon: cur[3],
|
226
|
-
width: cur[4],
|
227
|
-
toolTip: cur[5],
|
228
|
-
index: idx
|
229
|
-
};
|
210
|
+
cur[cur.length] = idx; // save current index
|
230
211
|
|
231
212
|
// special case 1...if title key is null, try to make into string
|
232
|
-
if (!keys[0] && item.toString) cur
|
213
|
+
if (!keys[0] && item.toString) cur[0] = item.toString();
|
233
214
|
|
234
215
|
// special case 2...if value key is null, use item itself
|
235
|
-
if (!keys[1]) cur
|
216
|
+
if (!keys[1]) cur[1] = item;
|
236
217
|
|
237
218
|
// special case 3...if isEnabled is null, default to yes.
|
238
|
-
if (!keys[2]) cur
|
219
|
+
if (!keys[2]) cur[2] = YES ;
|
239
220
|
}
|
240
221
|
|
241
222
|
// finally, be sure to loc the title if needed
|
242
|
-
if (loc && cur
|
223
|
+
if (loc && cur[0]) cur[0] = cur[0].loc();
|
243
224
|
|
244
225
|
// finally, be sure to loc the toolTip if needed
|
245
|
-
if (loc && cur
|
226
|
+
if (loc && cur[5] && SC.typeOf(cur[5]) === SC.T_STRING) cur[5] = cur[5].loc();
|
246
227
|
|
247
228
|
// add to return array
|
248
229
|
ret[ret.length] = cur;
|
@@ -274,10 +255,6 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
274
255
|
},
|
275
256
|
|
276
257
|
init: function() {
|
277
|
-
var classnames = SC.clone(this.get('classNames'));
|
278
|
-
classnames.push(this.get('controlStyle'));
|
279
|
-
this.set('classNames', classnames);
|
280
|
-
|
281
258
|
sc_super();
|
282
259
|
this.itemsDidChange() ;
|
283
260
|
},
|
@@ -289,34 +266,110 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
289
266
|
|
290
267
|
displayProperties: ['displayItems', 'value', 'activeIndex'],
|
291
268
|
|
292
|
-
|
293
|
-
|
269
|
+
|
270
|
+
render: function(context, firstTime) {
|
271
|
+
|
272
|
+
// collect some data
|
273
|
+
var items = this.get('displayItems');
|
274
|
+
|
275
|
+
var theme = this.get('theme');
|
276
|
+
if (theme) context.addClass(theme);
|
277
|
+
if (firstTime || this.get('renderLikeFirstTime')) {
|
278
|
+
this._seg_displayItems = items; // save for future
|
279
|
+
this.renderDisplayItems(context, items) ;
|
280
|
+
context.addStyle('text-align', this.get('align'));
|
281
|
+
this.set('renderLikeFirstTime',NO);
|
282
|
+
}else{
|
283
|
+
// update selection and active state
|
284
|
+
var activeIndex = this.get('activeIndex'),
|
285
|
+
value = this.get('value'),
|
286
|
+
isArray = SC.isArray(value);
|
287
|
+
if (isArray && value.get('length')===1) {
|
288
|
+
value = value.objectAt(0); isArray = NO ;
|
289
|
+
}
|
290
|
+
var names = {}, // reuse
|
291
|
+
loc = items.length, cq = this.$('.sc-segment'), item;
|
292
|
+
while(--loc>=0) {
|
293
|
+
item = items[loc];
|
294
|
+
names.sel = isArray ? (value.indexOf(item[1])>=0) : (item[1]===value);
|
295
|
+
names.active = (activeIndex === loc);
|
296
|
+
names.disabled = !item[2];
|
297
|
+
SC.$(cq[loc]).setClass(names);
|
298
|
+
}
|
299
|
+
names = items = value = items = null; // cleanup
|
300
|
+
}
|
294
301
|
},
|
295
302
|
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
303
|
+
/**
|
304
|
+
Actually generates the segment HTML for the display items. This method
|
305
|
+
is called the first time a view is constructed and any time the display
|
306
|
+
items change thereafter. This will construct the HTML but will not set
|
307
|
+
any "transient" states such as the global isEnabled property or selection.
|
308
|
+
*/
|
309
|
+
renderDisplayItems: function(context, items) {
|
310
|
+
var value = this.get('value'),
|
311
|
+
isArray = SC.isArray(value),
|
312
|
+
activeIndex = this.get('activeIndex'),
|
313
|
+
len = items.length,
|
314
|
+
title, icon, url, className, ic, item, toolTip, width, i, stylesHash,
|
315
|
+
classArray;
|
316
|
+
|
317
|
+
for(i=0; i< len; i++){
|
318
|
+
ic = context.begin('a').attr('role', 'button');
|
319
|
+
item=items[i];
|
320
|
+
title = item[0];
|
321
|
+
icon = item[3];
|
322
|
+
toolTip = item[5];
|
301
323
|
|
302
|
-
|
303
|
-
|
304
|
-
|
324
|
+
stylesHash = {};
|
325
|
+
classArray = [];
|
326
|
+
|
327
|
+
if (this.get('layoutDirection') == SC.LAYOUT_HORIZONTAL) {
|
328
|
+
stylesHash['display'] = 'inline-block' ;
|
329
|
+
}
|
330
|
+
|
331
|
+
classArray.push('sc-segment');
|
305
332
|
|
306
|
-
|
307
|
-
|
308
|
-
item.isSelected = YES;
|
333
|
+
if(!item[2]){
|
334
|
+
classArray.push('disabled');
|
309
335
|
}
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
336
|
+
if(i===0){
|
337
|
+
classArray.push('sc-first-segment');
|
338
|
+
}
|
339
|
+
if(i===(len-1)){
|
340
|
+
classArray.push('sc-last-segment');
|
341
|
+
}
|
342
|
+
if(i!==0 && i!==(len-1)){
|
343
|
+
classArray.push('sc-middle-segment');
|
344
|
+
}
|
345
|
+
if( isArray ? (value.indexOf(item[1])>=0) : (item[1]===value)){
|
346
|
+
classArray.push('sel');
|
347
|
+
}
|
348
|
+
if(activeIndex === i) {
|
349
|
+
classArray.push('active') ;
|
350
|
+
}
|
351
|
+
if(item[4]){
|
352
|
+
width=item[4];
|
353
|
+
stylesHash['width'] = width+'px';
|
354
|
+
}
|
355
|
+
ic.addClass(classArray);
|
356
|
+
ic.addStyle(stylesHash);
|
357
|
+
if(toolTip) {
|
358
|
+
ic.attr('title', toolTip) ;
|
359
|
+
}
|
360
|
+
|
361
|
+
if (icon) {
|
362
|
+
url = (icon.indexOf('/')>=0) ? icon : SC.BLANK_IMAGE_URL;
|
363
|
+
className = (url === icon) ? '' : icon ;
|
364
|
+
icon = '<img src="'+url+'" alt="" class="icon '+className+'" />';
|
365
|
+
} else {
|
366
|
+
icon = '';
|
367
|
+
}
|
368
|
+
ic.push('<span class="sc-button-inner"><label class="sc-button-label">',
|
369
|
+
icon+title, '</label></span>');
|
370
|
+
ic.end();
|
371
|
+
}
|
372
|
+
},
|
320
373
|
|
321
374
|
// ..........................................................
|
322
375
|
// EVENT HANDLING
|
@@ -327,7 +380,40 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
327
380
|
event occurred.
|
328
381
|
*/
|
329
382
|
displayItemIndexForEvent: function(evt) {
|
330
|
-
|
383
|
+
return this.displayItemIndexForPosition(evt.pageX, evt.pageY);
|
384
|
+
},
|
385
|
+
|
386
|
+
/**
|
387
|
+
Determines an item index based on a position. The position does not have to be within the view's
|
388
|
+
bounding rectangle. If no item is at that position, this will return -1.
|
389
|
+
|
390
|
+
NOTE: Eventually, this sort of function should be implemented in a renderer.
|
391
|
+
*/
|
392
|
+
displayItemIndexForPosition: function(pageX, pageY) {
|
393
|
+
// find the segments
|
394
|
+
var segments = this.$('.sc-segment'), len = segments.length, idx, segment, r;
|
395
|
+
|
396
|
+
// loop through them (yes, this comment is mostly because it looks nice in TextMate)
|
397
|
+
for (idx = 0; idx < len; idx++) {
|
398
|
+
// get the segment
|
399
|
+
segment = segments[idx];
|
400
|
+
|
401
|
+
// get its rectangle
|
402
|
+
r = segment.getBoundingClientRect();
|
403
|
+
|
404
|
+
// based on orientation, check the position left-to-right or up-to-down.
|
405
|
+
if (this.get('layoutDirection') == SC.LAYOUT_VERTICAL) {
|
406
|
+
// if it fits, return it right away
|
407
|
+
if (pageY > r.top && pageY < r.bottom) return idx;
|
408
|
+
}
|
409
|
+
else {
|
410
|
+
// if it fits, return it right away.
|
411
|
+
if (pageX > r.left && pageX < r.right) return idx;
|
412
|
+
}
|
413
|
+
}
|
414
|
+
|
415
|
+
// if we didn't find anything, return the old standard -1 for "not found."
|
416
|
+
return -1;
|
331
417
|
},
|
332
418
|
|
333
419
|
keyDown: function(evt) {
|
@@ -347,7 +433,7 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
347
433
|
if (evt.which === 39 || evt.which === 40) {
|
348
434
|
for(i=0; i< len-1; i++){
|
349
435
|
item=items[i];
|
350
|
-
if( isArray ? (value.indexOf(item
|
436
|
+
if( isArray ? (value.indexOf(item[1])>=0) : (item[1]===value)){
|
351
437
|
this.triggerItemAtIndex(i+1);
|
352
438
|
}
|
353
439
|
}
|
@@ -356,7 +442,7 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
356
442
|
else if (evt.which === 37 || evt.which === 38) {
|
357
443
|
for(i=1; i< len; i++){
|
358
444
|
item=items[i];
|
359
|
-
if( isArray ? (value.indexOf(item
|
445
|
+
if( isArray ? (value.indexOf(item[1])>=0) : (item[1]===value)){
|
360
446
|
this.triggerItemAtIndex(i-1);
|
361
447
|
}
|
362
448
|
}
|
@@ -486,14 +572,14 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
486
572
|
item = items.objectAt(idx),
|
487
573
|
sel, value, val, empty, mult;
|
488
574
|
|
489
|
-
if (!item
|
575
|
+
if (!item[2]) return this; // nothing to do!
|
490
576
|
|
491
577
|
empty = this.get('allowsEmptySelection');
|
492
578
|
mult = this.get('allowsMultipleSelection');
|
493
579
|
|
494
580
|
|
495
581
|
// get new value... bail if not enabled. Also save original for later.
|
496
|
-
sel = item
|
582
|
+
sel = item[1];
|
497
583
|
value = val = this.get('value') ;
|
498
584
|
if (!SC.isArray(value)) value = [value]; // force to array
|
499
585
|
|
@@ -536,7 +622,7 @@ SC.SegmentedView = SC.View.extend(SC.Control,
|
|
536
622
|
action, target = null,
|
537
623
|
resp = this.getPath('pane.rootResponder');
|
538
624
|
|
539
|
-
if (actionKey && (item = this.get('items').objectAt(item
|
625
|
+
if (actionKey && (item = this.get('items').objectAt(item[6]))) {
|
540
626
|
// get the source item from the item array. use the index stored...
|
541
627
|
action = item.get ? item.get(actionKey) : item[actionKey];
|
542
628
|
if (targetKey) {
|