sproutcore 1.4.5-java → 1.5.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1916) hide show
  1. data/.rspec +1 -0
  2. data/CHANGELOG +126 -0
  3. data/README.txt +25 -0
  4. data/VERSION.yml +2 -2
  5. data/bin/sc-build +1 -1
  6. data/bin/sc-build-number +1 -1
  7. data/bin/sc-docs +1 -1
  8. data/bin/sc-gen +1 -1
  9. data/bin/sc-init +1 -1
  10. data/bin/sc-manifest +1 -1
  11. data/bin/sc-server +1 -1
  12. data/bin/sproutcore +1 -1
  13. data/lib/Buildfile +14 -5
  14. data/lib/buildtasks/build.rake +33 -17
  15. data/lib/buildtasks/manifest.rake +381 -103
  16. data/lib/buildtasks/target.rake +1 -0
  17. data/lib/doc_templates/sproutcore/index.tmpl +18 -4
  18. data/lib/doc_templates/sproutcore/publish.js +1 -1
  19. data/lib/frameworks/sproutcore/Buildfile +36 -33
  20. data/lib/frameworks/sproutcore/CHANGELOG.md +414 -0
  21. data/lib/frameworks/sproutcore/README.md +1 -0
  22. data/lib/frameworks/sproutcore/apps/test_controls/Buildfile +0 -0
  23. data/lib/frameworks/sproutcore/apps/test_controls/controllers/alert.js +39 -0
  24. data/lib/frameworks/sproutcore/apps/test_controls/controllers/buttons.js +21 -0
  25. data/lib/frameworks/sproutcore/apps/test_controls/controllers/categories.js +125 -0
  26. data/lib/frameworks/sproutcore/apps/test_controls/controllers/category.js +36 -0
  27. data/lib/frameworks/sproutcore/apps/test_controls/controllers/split.js +74 -0
  28. data/lib/frameworks/sproutcore/apps/test_controls/core.js +29 -0
  29. data/lib/frameworks/sproutcore/apps/test_controls/main.js +14 -0
  30. data/lib/frameworks/sproutcore/apps/test_controls/resources/buttons_page.js +158 -0
  31. data/lib/frameworks/sproutcore/apps/test_controls/resources/checkboxes_page.js +53 -0
  32. data/lib/frameworks/sproutcore/apps/test_controls/resources/flow_layout_page.js +85 -0
  33. data/lib/frameworks/sproutcore/apps/test_controls/resources/list_page.js +40 -0
  34. data/lib/frameworks/sproutcore/apps/test_controls/resources/loading.rhtml +9 -0
  35. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.css +60 -0
  36. data/lib/frameworks/sproutcore/apps/test_controls/resources/main_page.js +151 -0
  37. data/lib/frameworks/sproutcore/apps/test_controls/resources/panels_page.js +62 -0
  38. data/lib/frameworks/sproutcore/apps/test_controls/resources/progress_page.js +33 -0
  39. data/lib/frameworks/sproutcore/apps/test_controls/resources/radio_page.js +55 -0
  40. data/lib/frameworks/sproutcore/apps/test_controls/resources/scroll_page.js +77 -0
  41. data/lib/frameworks/sproutcore/apps/test_controls/resources/segmented_page.js +99 -0
  42. data/lib/frameworks/sproutcore/apps/test_controls/resources/select_page.js +61 -0
  43. data/lib/frameworks/sproutcore/apps/test_controls/resources/sliders_page.js +54 -0
  44. data/lib/frameworks/sproutcore/apps/test_controls/resources/split_page.js +141 -0
  45. data/lib/frameworks/sproutcore/apps/test_controls/resources/strings.js +50 -0
  46. data/lib/frameworks/sproutcore/apps/test_controls/resources/tab_page.js +53 -0
  47. data/lib/frameworks/sproutcore/apps/test_controls/resources/text_field_page.js +65 -0
  48. data/lib/frameworks/sproutcore/apps/test_controls/theme.js +34 -0
  49. data/lib/frameworks/sproutcore/apps/tests/controllers/detail.js +1 -1
  50. data/lib/frameworks/sproutcore/apps/tests/controllers/source.js +1 -1
  51. data/lib/frameworks/sproutcore/apps/tests/controllers/target.js +1 -1
  52. data/lib/frameworks/sproutcore/apps/tests/controllers/targets.js +1 -1
  53. data/lib/frameworks/sproutcore/apps/tests/controllers/tests.js +1 -1
  54. data/lib/frameworks/sproutcore/apps/tests/core.js +1 -1
  55. data/lib/frameworks/sproutcore/apps/tests/english.lproj/main_page.js +6 -6
  56. data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +1 -1
  57. data/lib/frameworks/sproutcore/apps/tests/main.js +1 -1
  58. data/lib/frameworks/sproutcore/apps/tests/states/no_targets.js +1 -1
  59. data/lib/frameworks/sproutcore/apps/tests/states/ready.js +1 -1
  60. data/lib/frameworks/sproutcore/apps/tests/states/ready_detail.js +1 -1
  61. data/lib/frameworks/sproutcore/apps/tests/states/ready_empty.js +1 -1
  62. data/lib/frameworks/sproutcore/apps/tests/states/ready_list.js +1 -1
  63. data/lib/frameworks/sproutcore/apps/tests/states/ready_loading.js +1 -1
  64. data/lib/frameworks/sproutcore/apps/tests/states/ready_no_tests.js +1 -1
  65. data/lib/frameworks/sproutcore/apps/tests/states/start.js +1 -1
  66. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/detail.js +1 -1
  67. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/source.js +1 -1
  68. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/target.js +1 -1
  69. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/targets.js +1 -1
  70. data/lib/frameworks/sproutcore/apps/tests/tests/controllers/tests.js +1 -1
  71. data/lib/frameworks/sproutcore/apps/tests/tests/models/target.js +1 -1
  72. data/lib/frameworks/sproutcore/apps/tests/tests/models/test.js +1 -1
  73. data/lib/frameworks/sproutcore/apps/tests/tests/views/offset_checkbox.js +1 -1
  74. data/lib/frameworks/sproutcore/apps/tests/views/offset_checkbox.js +1 -1
  75. data/lib/frameworks/sproutcore/apps/welcome/controllers/targets.js +10 -4
  76. data/lib/frameworks/sproutcore/apps/welcome/core.js +1 -1
  77. data/lib/frameworks/sproutcore/apps/{greenhouse → welcome}/english.lproj/images/main-bg.png +0 -0
  78. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.css +24 -6
  79. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/main_page.js +37 -47
  80. data/lib/frameworks/sproutcore/apps/welcome/english.lproj/strings.js +1 -1
  81. data/lib/frameworks/sproutcore/apps/welcome/main.js +1 -1
  82. data/lib/frameworks/sproutcore/apps/welcome/tests/controllers/targets.js +1 -1
  83. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_DatastoreDesign.graffle}/QuickLook/Preview.pdf +0 -0
  84. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_DatastoreDesign.graffle}/QuickLook/Thumbnail.tiff +0 -0
  85. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_DatastoreDesign.graffle}/data.plist +0 -0
  86. data/lib/frameworks/sproutcore/{apps/docs/design/Doc Viewer.graffle → design/Sproutcore_DatastoreDesign.graffle}/image8.png +0 -0
  87. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → Sproutcore_Design_Template.graffle}/QuickLook/Preview.pdf +0 -0
  88. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → Sproutcore_Design_Template.graffle}/QuickLook/Thumbnail.tiff +0 -0
  89. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → Sproutcore_Design_Template.graffle}/data.plist +0 -0
  90. data/lib/frameworks/sproutcore/design/{SproutCore Datastore Design.graffle → Sproutcore_Design_Template.graffle}/image8.png +0 -0
  91. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/QuickLook/Preview.pdf +0 -0
  92. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/QuickLook/Thumbnail.tiff +0 -0
  93. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/data.plist +0 -0
  94. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image10.png +0 -0
  95. data/lib/frameworks/sproutcore/{apps/docs/design/Doc Viewer.graffle → design/TestRunner_Design.graffle}/image11.png +0 -0
  96. data/lib/frameworks/sproutcore/{apps/docs/design/Doc Viewer.graffle → design/TestRunner_Design.graffle}/image13.png +0 -0
  97. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image15.png +0 -0
  98. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image16.png +0 -0
  99. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image17.png +0 -0
  100. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image18.png +0 -0
  101. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image19.png +0 -0
  102. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image22.tiff +0 -0
  103. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image23.png +0 -0
  104. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image24.png +0 -0
  105. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image25.png +0 -0
  106. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image30.png +0 -0
  107. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image31.png +0 -0
  108. data/lib/frameworks/sproutcore/design/{SproutCore Design Template.graffle → TestRunner_Design.graffle}/image8.png +0 -0
  109. data/lib/frameworks/sproutcore/design/{TestRunner Design.graffle → TestRunner_Design.graffle}/image9.png +0 -0
  110. data/lib/frameworks/sproutcore/frameworks/ajax/fixtures/file_exists.json +1 -0
  111. data/lib/frameworks/sproutcore/frameworks/ajax/fixtures/malformed.json +11 -0
  112. data/lib/frameworks/sproutcore/frameworks/ajax/system/request.js +611 -0
  113. data/lib/frameworks/sproutcore/frameworks/ajax/system/response.js +550 -0
  114. data/lib/frameworks/sproutcore/frameworks/ajax/tests/system/request.js +276 -0
  115. data/lib/frameworks/sproutcore/frameworks/animation/core.js +57 -45
  116. data/lib/frameworks/sproutcore/frameworks/animation/tests/core.js +10 -5
  117. data/lib/frameworks/sproutcore/frameworks/bootstrap/core.js +1 -1
  118. data/lib/frameworks/sproutcore/frameworks/bootstrap/setup_body_class_names.js +1 -1
  119. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/bench.js +14 -0
  120. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +219 -23
  121. data/lib/frameworks/sproutcore/frameworks/bootstrap/system/loader.js +16 -15
  122. data/lib/frameworks/sproutcore/frameworks/bootstrap/tests/system/browser.js +187 -0
  123. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +540 -0
  124. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +44 -0
  125. data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/object.js +342 -0
  126. data/lib/frameworks/sproutcore/frameworks/core_foundation/core.js +189 -0
  127. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/function.js +39 -0
  128. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars.js +73 -0
  129. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/bind.js +293 -0
  130. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +55 -0
  131. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/localization.js +5 -0
  132. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/view.js +96 -0
  133. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/object.js +81 -0
  134. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/run_loop.js +163 -0
  135. data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/string.js +60 -0
  136. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/delegate_support.js +110 -0
  137. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/responder_context.js +268 -0
  138. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/selection_support.js +249 -0
  139. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/checkbox_support.js +28 -0
  140. data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +55 -0
  141. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/keyboard.js +74 -0
  142. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/layout.js +95 -0
  143. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/main.js +50 -0
  144. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/manipulation.js +33 -0
  145. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +670 -0
  146. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/template.js +31 -0
  147. data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/visibility.js +17 -0
  148. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/observable_protocol.js +40 -0
  149. data/lib/frameworks/sproutcore/frameworks/core_foundation/protocols/sparse_array_delegate.js +131 -0
  150. data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/core.css +378 -0
  151. data/lib/frameworks/sproutcore/frameworks/core_foundation/resources/view.css +57 -0
  152. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/application.js +33 -0
  153. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/bindable_span.js +164 -0
  154. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/browser.js +36 -0
  155. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/builder.js +202 -0
  156. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/core_query.js +141 -0
  157. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/cursor.js +131 -0
  158. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/datetime.js +0 -0
  159. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/device.js +210 -0
  160. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +991 -0
  161. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/locale.js +289 -0
  162. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/page.js +106 -0
  163. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +419 -0
  164. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/ready.js +103 -0
  165. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/render_context.js +1063 -0
  166. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/responder.js +124 -0
  167. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +2174 -0
  168. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/selection_set.js +693 -0
  169. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +397 -0
  170. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/string.js +165 -0
  171. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/theme.js +316 -0
  172. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/timer.js +548 -0
  173. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils.js +155 -0
  174. data/lib/frameworks/sproutcore/frameworks/core_foundation/system/utils/rect.js +104 -0
  175. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/array_case.js +301 -0
  176. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/enum_case.js +206 -0
  177. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/null_case.js +64 -0
  178. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/selection_support.js +344 -0
  179. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/array/single_case.js +136 -0
  180. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/empty_case.js +82 -0
  181. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/multiple_case.js +111 -0
  182. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/single_case.js +193 -0
  183. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/controllers/object/single_enumerable_case.js +265 -0
  184. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/responder_context.js +76 -0
  185. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/string.js +78 -0
  186. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/checkbox_support.js +38 -0
  187. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/template_helpers/text_field_support.js +79 -0
  188. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/panes/template.js +20 -0
  189. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/builder.js +49 -0
  190. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/core_query/within.js +71 -0
  191. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/locale.js +140 -0
  192. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/ready/done.js +40 -0
  193. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/begin.js +47 -0
  194. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/element.js +44 -0
  195. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/end.js +124 -0
  196. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/get.js +51 -0
  197. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_attr.js +50 -0
  198. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_basic.js +28 -0
  199. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_className.js +177 -0
  200. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/helpers_style.js +109 -0
  201. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/init.js +55 -0
  202. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/join.js +28 -0
  203. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/push_text.js +74 -0
  204. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/tag.js +46 -0
  205. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/render_context/update.js +219 -0
  206. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeKeyPane.js +124 -0
  207. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMainPane.js +68 -0
  208. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/makeMenuPane.js +48 -0
  209. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/root_responder.js +108 -0
  210. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/root_responder/targetForAction.js +288 -0
  211. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/add.js +92 -0
  212. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/copy.js +17 -0
  213. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/indexSetForSource.js +98 -0
  214. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/isEqual.js +60 -0
  215. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/selection_set/remove.js +111 -0
  216. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/sparse_array.js +201 -0
  217. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/theme.js +78 -0
  218. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/invalidate.js +44 -0
  219. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/invokeLater.js +209 -0
  220. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/isPaused.js +77 -0
  221. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/performAction.js +75 -0
  222. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/timer/schedule.js +176 -0
  223. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/normalizeURL.js +24 -0
  224. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/offset.js +284 -0
  225. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/system/utils/rect.js +105 -0
  226. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/main_pane.js +49 -0
  227. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/append_remove.js +224 -0
  228. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/child_view.js +26 -0
  229. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/firstResponder.js +148 -0
  230. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/keyPane.js +133 -0
  231. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/layout.js +31 -0
  232. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/pane/sendEvent.js +206 -0
  233. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +201 -0
  234. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/core.js +160 -0
  235. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +919 -0
  236. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/animation.js +382 -0
  237. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build.js +85 -0
  238. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/build_children.js +89 -0
  239. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/clippingFrame.js +117 -0
  240. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertFrames.js +248 -0
  241. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/convertLayouts.js +153 -0
  242. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createChildViews.js +132 -0
  243. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/createLayer.js +97 -0
  244. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/destroyLayer.js +83 -0
  245. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/didAppendToDocument.js +83 -0
  246. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/findLayerInParentLayer.js +50 -0
  247. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/init.js +50 -0
  248. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/insertBefore.js +217 -0
  249. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisible.js +85 -0
  250. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/isVisibleInWindow.js +122 -0
  251. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/keyboard.js +28 -0
  252. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layer.js +146 -0
  253. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutChildViews.js +162 -0
  254. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutDidChange.js +180 -0
  255. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +745 -0
  256. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/parentViewDidChange.js +67 -0
  257. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/prepareContext.js +203 -0
  258. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/removeChild.js +189 -0
  259. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render.js +203 -0
  260. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/render_delegate_support.js +163 -0
  261. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/replaceChild.js +29 -0
  262. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/static_layout.js +28 -0
  263. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/theme.js +45 -0
  264. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayer.js +148 -0
  265. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/updateLayerLocation.js +213 -0
  266. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/view.js +64 -0
  267. data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/viewDidResize.js +202 -0
  268. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template.js +131 -0
  269. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/template_collection.js +242 -0
  270. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +1524 -0
  271. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/animation.js +181 -0
  272. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/base.js +3 -0
  273. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/cursor.js +48 -0
  274. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/enabled.js +57 -0
  275. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +223 -0
  276. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout.js +1115 -0
  277. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +624 -0
  278. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/manipulation.js +401 -0
  279. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/theming.js +400 -0
  280. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/touch.js +67 -0
  281. data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/visibility.js +118 -0
  282. data/lib/frameworks/sproutcore/frameworks/core_tools/core.js +1 -1
  283. data/lib/frameworks/sproutcore/frameworks/core_tools/data_source.js +1 -1
  284. data/lib/frameworks/sproutcore/frameworks/core_tools/english.lproj/strings.js +1 -1
  285. data/lib/frameworks/sproutcore/frameworks/core_tools/fixtures/target.js +1 -1
  286. data/lib/frameworks/sproutcore/frameworks/core_tools/fixtures/test.js +1 -1
  287. data/lib/frameworks/sproutcore/frameworks/core_tools/models/target.js +1 -1
  288. data/lib/frameworks/sproutcore/frameworks/core_tools/models/test.js +1 -1
  289. data/lib/frameworks/sproutcore/frameworks/datastore/core.js +1 -1
  290. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/cascade.js +17 -21
  291. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/data_source.js +322 -132
  292. data/lib/frameworks/sproutcore/frameworks/datastore/data_sources/fixtures.js +5 -5
  293. data/lib/frameworks/sproutcore/frameworks/datastore/debug/json.js +1 -1
  294. data/lib/frameworks/sproutcore/frameworks/datastore/debug/standard_setup.js +1 -1
  295. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_attribute.js +44 -61
  296. data/lib/frameworks/sproutcore/frameworks/datastore/models/child_record.js +16 -100
  297. data/lib/frameworks/sproutcore/frameworks/datastore/models/children_attribute.js +17 -24
  298. data/lib/frameworks/sproutcore/frameworks/datastore/models/fetched_attribute.js +8 -8
  299. data/lib/frameworks/sproutcore/frameworks/datastore/models/many_attribute.js +20 -21
  300. data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +457 -216
  301. data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +204 -94
  302. data/lib/frameworks/sproutcore/frameworks/datastore/models/single_attribute.js +17 -19
  303. data/lib/frameworks/sproutcore/frameworks/datastore/system/child_array.js +150 -115
  304. data/lib/frameworks/sproutcore/frameworks/datastore/system/many_array.js +148 -110
  305. data/lib/frameworks/sproutcore/frameworks/datastore/system/nested_store.js +51 -26
  306. data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +160 -158
  307. data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +298 -204
  308. data/lib/frameworks/sproutcore/frameworks/datastore/system/store.js +419 -233
  309. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/cascade.js +1 -1
  310. data/lib/frameworks/sproutcore/frameworks/datastore/tests/data_sources/fixtures.js +7 -2
  311. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/contact_model.js +1 -1
  312. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/cyclical_relationship.js +2 -2
  313. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/mail_model.js +1 -1
  314. data/lib/frameworks/sproutcore/frameworks/datastore/tests/integration/test_runner_model.js +1 -1
  315. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/datetime_recordattribute.js +1 -1
  316. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/many_attribute.js +1 -1
  317. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/data_store.js +180 -0
  318. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record.js +56 -18
  319. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array.js +36 -10
  320. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_array_complex.js +11 -11
  321. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/nested_record_complex.js +8 -8
  322. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js +1 -1
  323. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/destroy.js +1 -1
  324. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/error_methods.js +1 -1
  325. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/normalize.js +26 -4
  326. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/readAttribute.js +1 -1
  327. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/refresh.js +2 -2
  328. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/storeDidChangeProperties.js +1 -1
  329. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/unknownProperty.js +1 -1
  330. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/writeAttribute.js +1 -1
  331. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record_attribute.js +1 -1
  332. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +1 -1
  333. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/many_array/core_methods.js +1 -1
  334. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/chain.js +1 -1
  335. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChanges.js +5 -3
  336. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/commitChangesFromNestedStore.js +5 -1
  337. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/core_methods.js +1 -1
  338. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/dataHashDidChange.js +1 -1
  339. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/discardChanges.js +5 -2
  340. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readDataHash.js +1 -1
  341. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/readEditableDataHash.js +1 -1
  342. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/removeDataHash.js +1 -1
  343. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/nested_store/writeDataHash.js +1 -1
  344. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +22 -22
  345. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/compare.js +1 -1
  346. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/contains.js +1 -1
  347. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/containsRecordTypes.js +1 -1
  348. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/copy.js +1 -1
  349. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation.js +1 -1
  350. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/evaluation_of_records.js +39 -14
  351. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/expandedRecordTypes.js +1 -1
  352. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/parse.js +14 -6
  353. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/queryWithScope.js +1 -1
  354. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/record_type_is.js +5 -1
  355. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_comparisons.js +5 -1
  356. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/registered_query_extensions.js +5 -1
  357. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/core_methods.js +1 -1
  358. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/error_methods.js +1 -1
  359. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/flush.js +89 -53
  360. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/cancelRecord.js +1 -1
  361. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitChangesFromNestedStore.js +5 -1
  362. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/commitRecord.js +11 -1
  363. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/core_methods.js +1 -1
  364. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/createRecord.js +6 -2
  365. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataHashDidChange.js +1 -1
  366. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/dataSourceCallbacks.js +1 -1
  367. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/destroyRecord.js +6 -2
  368. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/error_methods.js +1 -1
  369. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/find.js +1 -1
  370. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/init.js +1 -1
  371. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecord.js +64 -0
  372. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/loadRecords.js +100 -0
  373. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/pushChanges.js +1 -1
  374. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readDataHash.js +1 -1
  375. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/readEditableDataHash.js +1 -1
  376. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/recordDidChange.js +39 -36
  377. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/removeDataHash.js +1 -1
  378. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/retrieveRecord.js +17 -1
  379. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecord.js +55 -0
  380. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/unloadRecords.js +85 -32
  381. data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/store/writeDataHash.js +1 -1
  382. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +1103 -0
  383. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +390 -0
  384. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/resources/strings.js +14 -0
  385. data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/localized/system/datetime.js +91 -0
  386. data/lib/frameworks/sproutcore/frameworks/debug/core.js +3 -3
  387. data/lib/frameworks/sproutcore/frameworks/debug/invoke_once_last_debugging.js +10 -11
  388. data/lib/frameworks/sproutcore/frameworks/desktop/core.js +19 -3
  389. data/lib/frameworks/sproutcore/frameworks/desktop/debug/drag.js +8 -7
  390. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/disclosure.css +0 -1
  391. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/icons.css +0 -27
  392. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/list_item.css +27 -3
  393. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/menu_item_view.css +1 -9
  394. data/lib/frameworks/sproutcore/frameworks/desktop/english.lproj/segmented.css +72 -74
  395. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/border.js +49 -27
  396. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_fast_path.js +63 -46
  397. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_group.js +6 -3
  398. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_row_delegate.js +53 -17
  399. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/collection_view_delegate.js +84 -79
  400. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/navigation_builder.js +138 -0
  401. data/lib/frameworks/sproutcore/frameworks/desktop/mixins/scrollable.js +38 -24
  402. data/lib/frameworks/sproutcore/frameworks/desktop/panes/alert.js +396 -218
  403. data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +92 -123
  404. data/lib/frameworks/sproutcore/frameworks/desktop/panes/modal.js +23 -18
  405. data/lib/frameworks/sproutcore/frameworks/desktop/panes/palette.js +39 -17
  406. data/lib/frameworks/sproutcore/frameworks/desktop/panes/panel.js +66 -53
  407. data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +364 -121
  408. data/lib/frameworks/sproutcore/frameworks/desktop/panes/select_button.js +209 -108
  409. data/lib/frameworks/sproutcore/frameworks/desktop/panes/sheet.js +40 -17
  410. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_data_source.js +16 -12
  411. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drag_source.js +25 -27
  412. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/drop_target.js +36 -24
  413. data/lib/frameworks/sproutcore/frameworks/desktop/protocols/responder.js +7 -5
  414. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/button.js +112 -0
  415. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/checkbox.js +98 -0
  416. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/collection.js +25 -0
  417. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/disclosure.js +59 -0
  418. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/helpers/slicing.js +35 -0
  419. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/image_button.js +51 -0
  420. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/master_detail.js +29 -0
  421. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/menu.js +60 -0
  422. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/panel.js +28 -0
  423. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/picker.js +44 -0
  424. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/popup_button.js +21 -0
  425. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/progress.js +100 -0
  426. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio.js +84 -0
  427. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/radio_group.js +116 -0
  428. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segment.js +58 -0
  429. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/segmented.js +80 -0
  430. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/slider.js +81 -0
  431. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/source_list.js +8 -0
  432. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/toolbar.js +18 -0
  433. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/well.js +17 -0
  434. data/lib/frameworks/sproutcore/frameworks/desktop/render_delegates/workspace.js +18 -0
  435. data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +197 -103
  436. data/lib/frameworks/sproutcore/frameworks/desktop/system/key_bindings.js +7 -5
  437. data/lib/frameworks/sproutcore/frameworks/desktop/system/undo_manager.js +74 -37
  438. data/lib/frameworks/sproutcore/frameworks/desktop/tests/integration/dialog.js +26 -5
  439. data/lib/frameworks/sproutcore/frameworks/desktop/tests/mixins/border.js +16 -6
  440. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/methods.js +1 -1
  441. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/alert/ui.js +190 -22
  442. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/methods.js +2 -1
  443. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +69 -9
  444. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/methods.js +1 -1
  445. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/palette/ui.js +2 -2
  446. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/pane_page.js +4 -3
  447. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/methods.js +1 -1
  448. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/panel/ui.js +30 -1
  449. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/methods.js +91 -3
  450. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/picker/ui.js +9 -3
  451. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/methods.js +1 -1
  452. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/select_button/ui.js +11 -3
  453. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/methods.js +1 -1
  454. data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/sheet/ui.js +4 -2
  455. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/content.js +189 -0
  456. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/displayProperties.js +89 -0
  457. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/keyEquivalents.js +57 -0
  458. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/methods.js +46 -4
  459. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/button/ui.js +91 -18
  460. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/methods.js +16 -32
  461. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/checkbox/ui.js +29 -3
  462. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/content.js +1 -1
  463. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deleteSelection.js +1 -1
  464. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/deselect.js +1 -1
  465. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/displayProperties.js +1 -1
  466. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/itemViewForContentIndex.js +1 -1
  467. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/layerIdFor.js +1 -1
  468. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/length.js +1 -1
  469. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/mouse.js +27 -5
  470. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/nowShowing.js +1 -1
  471. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/reload.js +1 -1
  472. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/select.js +1 -1
  473. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectNextItem.js +1 -1
  474. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selectPreviousItem.js +1 -1
  475. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/selection.js +1 -1
  476. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/collection/ui_diagram.js +16 -10
  477. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/methods.js +1 -1
  478. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/date_field/ui.js +2 -2
  479. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/methods.js +1 -1
  480. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/disclosure/ui.js +40 -2
  481. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/methods.js +1 -1
  482. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/grid/ui.js +1 -1
  483. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/image_button/ui.js +52 -0
  484. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/render.js +1 -1
  485. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowDelegate.js +1 -1
  486. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowHeightForContentIndex.js +1 -1
  487. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/rowOffsetForContentIndex.js +1 -1
  488. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_alternatingrows.js +1 -1
  489. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_outline.js +1 -1
  490. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_row_heights.js +1 -1
  491. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list/ui_simple.js +5 -1
  492. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/list_item.js +129 -21
  493. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/methods.js +1 -1
  494. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/menu_item/ui.js +1 -1
  495. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/methods.js +1 -1
  496. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/progress/ui.js +174 -43
  497. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/methods.js +1 -1
  498. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/radio/ui.js +93 -8
  499. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/integration.js +50 -0
  500. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/methods.js +1 -1
  501. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroll/ui.js +14 -2
  502. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/scroller.js +29 -1
  503. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/methods.js +26 -83
  504. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/segmented/ui.js +292 -61
  505. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/methods.js +1 -1
  506. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select/ui.js +11 -3
  507. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/methods.js +32 -1
  508. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/select_field/ui.js +78 -8
  509. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/separator.js +11 -4
  510. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/methods.js +1 -1
  511. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/source_list/ui.js +1 -1
  512. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/methods.js +1 -1
  513. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/split/ui.js +11 -4
  514. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/stacked/ui_comments.js +16 -9
  515. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/static_content.js +1 -1
  516. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/methods.js +1 -1
  517. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/tab/ui.js +33 -29
  518. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/toolbar/method.js +33 -0
  519. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/toolbar/ui.js +29 -0
  520. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/web/methods.js +1 -1
  521. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/web/ui.js +1 -1
  522. data/lib/frameworks/sproutcore/frameworks/desktop/tests/views/well/ui.js +1 -1
  523. data/lib/frameworks/sproutcore/frameworks/desktop/views/button.js +550 -231
  524. data/lib/frameworks/sproutcore/frameworks/desktop/views/checkbox.js +63 -55
  525. data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +286 -187
  526. data/lib/frameworks/sproutcore/frameworks/desktop/views/date_field.js +77 -53
  527. data/lib/frameworks/sproutcore/frameworks/desktop/views/disclosure.js +39 -31
  528. data/lib/frameworks/sproutcore/frameworks/desktop/views/file.js +148 -0
  529. data/lib/frameworks/sproutcore/frameworks/desktop/views/grid.js +43 -7
  530. data/lib/frameworks/sproutcore/frameworks/desktop/views/image_button.js +82 -0
  531. data/lib/frameworks/sproutcore/frameworks/desktop/views/list.js +58 -36
  532. data/lib/frameworks/sproutcore/frameworks/desktop/views/list_item.js +668 -509
  533. data/lib/frameworks/sproutcore/frameworks/desktop/views/master_detail.js +313 -0
  534. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +93 -54
  535. data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_scroll.js +152 -38
  536. data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation.js +261 -0
  537. data/lib/frameworks/sproutcore/frameworks/desktop/views/navigation_bar.js +191 -0
  538. data/lib/frameworks/sproutcore/frameworks/desktop/views/popup_button.js +35 -30
  539. data/lib/frameworks/sproutcore/frameworks/desktop/views/progress.js +131 -122
  540. data/lib/frameworks/sproutcore/frameworks/desktop/views/radio.js +208 -208
  541. data/lib/frameworks/sproutcore/frameworks/desktop/views/scene.js +24 -17
  542. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +332 -135
  543. data/lib/frameworks/sproutcore/frameworks/desktop/views/scroller.js +184 -73
  544. data/lib/frameworks/sproutcore/frameworks/desktop/views/segment.js +193 -0
  545. data/lib/frameworks/sproutcore/frameworks/desktop/views/segmented.js +829 -426
  546. data/lib/frameworks/sproutcore/frameworks/desktop/views/select.js +377 -143
  547. data/lib/frameworks/sproutcore/frameworks/desktop/views/select_field.js +96 -37
  548. data/lib/frameworks/sproutcore/frameworks/desktop/views/separator.js +26 -10
  549. data/lib/frameworks/sproutcore/frameworks/desktop/views/slider.js +52 -39
  550. data/lib/frameworks/sproutcore/frameworks/desktop/views/source_list.js +19 -5
  551. data/lib/frameworks/sproutcore/frameworks/desktop/views/source_list_group.js +15 -8
  552. data/lib/frameworks/sproutcore/frameworks/desktop/views/split.js +387 -271
  553. data/lib/frameworks/sproutcore/frameworks/desktop/views/split_divider.js +10 -9
  554. data/lib/frameworks/sproutcore/frameworks/desktop/views/stacked.js +15 -4
  555. data/lib/frameworks/sproutcore/frameworks/desktop/views/static_content.js +18 -4
  556. data/lib/frameworks/sproutcore/frameworks/desktop/views/tab.js +114 -12
  557. data/lib/frameworks/sproutcore/frameworks/desktop/views/thumb.js +14 -2
  558. data/lib/frameworks/sproutcore/frameworks/desktop/views/toolbar.js +103 -14
  559. data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +36 -20
  560. data/lib/frameworks/sproutcore/frameworks/desktop/views/well.js +27 -31
  561. data/lib/frameworks/sproutcore/frameworks/desktop/views/workspace.js +285 -0
  562. data/lib/frameworks/sproutcore/frameworks/documentation/core.js +0 -0
  563. data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +6 -0
  564. data/lib/frameworks/sproutcore/frameworks/experimental/README.md +23 -0
  565. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/README +18 -0
  566. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/TODO +56 -0
  567. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/beautify.js +0 -0
  568. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/design.js +0 -0
  569. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/file.js +35 -0
  570. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/files.js +0 -0
  571. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/layout.js +0 -0
  572. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/controllers/library.js +194 -0
  573. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/page.js +0 -0
  574. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/property.js +0 -0
  575. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/property_editor.js +0 -0
  576. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/target.js +0 -0
  577. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/targets.js +0 -0
  578. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/controllers/view_configs.js +0 -0
  579. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/core.js +65 -0
  580. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/core_file.js +124 -0
  581. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/data_source.js +250 -0
  582. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/app_page.js +399 -0
  583. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/app-selector.css +107 -0
  584. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/button.css +314 -0
  585. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/dock.css +90 -0
  586. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/general.css +51 -0
  587. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/main-page.css +93 -0
  588. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/menu.css +49 -0
  589. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/modal.css +41 -0
  590. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/css/picker.css +195 -0
  591. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/css/search.css +0 -0
  592. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/css/text-field.css +0 -0
  593. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/dialogs.js +303 -0
  594. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500.eot +0 -0
  595. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500.otf +0 -0
  596. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500.woff +0 -0
  597. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500_italic.eot +0 -0
  598. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500_italic.otf +0 -0
  599. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/fonts/museosans_500_italic.woff +0 -0
  600. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/app-selector/choose-app.png +0 -0
  601. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/app-selector/list-item-sel.png +0 -0
  602. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-l.png +0 -0
  603. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-m.png +0 -0
  604. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/active-r.png +0 -0
  605. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-l.png +0 -0
  606. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-m.png +0 -0
  607. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule-xl/regular-r.png +0 -0
  608. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/active-l.png +0 -0
  609. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/active-r.png +0 -0
  610. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-l.png +0 -0
  611. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/disabled-r.png +0 -0
  612. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/regular-l.png +0 -0
  613. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/regular-r.png +0 -0
  614. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-l.png +0 -0
  615. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-active-r.png +0 -0
  616. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-l.png +0 -0
  617. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-disabled-r.png +0 -0
  618. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-l.png +0 -0
  619. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/capsule/sel-r.png +0 -0
  620. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/active-l.png +0 -0
  621. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/active-m.png +0 -0
  622. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/active-r.png +0 -0
  623. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-l.png +0 -0
  624. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-active-r.png +0 -0
  625. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-l.png +0 -0
  626. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-r.png +0 -0
  627. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-l.png +0 -0
  628. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-active-r.png +0 -0
  629. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-l.png +0 -0
  630. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/cap-sel-r.png +0 -0
  631. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/disabled-l.png +0 -0
  632. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/disabled-m.png +0 -0
  633. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/disabled-r.png +0 -0
  634. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/regular-l.png +0 -0
  635. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/regular-m.png +0 -0
  636. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/regular-r.png +0 -0
  637. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-l.png +0 -0
  638. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-m.png +0 -0
  639. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-active-r.png +0 -0
  640. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-l.png +0 -0
  641. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-m.png +0 -0
  642. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-disabled-r.png +0 -0
  643. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-l.png +0 -0
  644. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-m.png +0 -0
  645. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/dark/sel-r.png +0 -0
  646. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/active-m.png +0 -0
  647. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/disabled-m.png +0 -0
  648. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/regular-m.png +0 -0
  649. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/sel-active-m.png +0 -0
  650. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/sel-disabled-m.png +0 -0
  651. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/shared/sel-m.png +0 -0
  652. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/active-l.png +0 -0
  653. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/active-r.png +0 -0
  654. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/disabled-l.png +0 -0
  655. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/disabled-r.png +0 -0
  656. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/regular-l.png +0 -0
  657. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/regular-r.png +0 -0
  658. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-active-l.png +0 -0
  659. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-active-r.png +0 -0
  660. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-l.png +0 -0
  661. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-disabled-r.png +0 -0
  662. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-l.png +0 -0
  663. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/buttons/square/sel-r.png +0 -0
  664. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/actions-active.png +0 -0
  665. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/actions.png +0 -0
  666. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/inspector-active.png +0 -0
  667. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/inspector.png +0 -0
  668. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/library-active.png +0 -0
  669. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/library.png +0 -0
  670. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/projects-active.png +0 -0
  671. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/projects.png +0 -0
  672. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/run-active.png +0 -0
  673. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/run.png +0 -0
  674. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/save-active.png +0 -0
  675. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/icons/save.png +0 -0
  676. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/logos/greenhouse-l.png +0 -0
  677. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/logos/greenhouse-s.png +0 -0
  678. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/logos/sproutcore.png +0 -0
  679. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/apps/greenhouse}/english.lproj/images/main-bg.png +0 -0
  680. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/bottom-left.png +0 -0
  681. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/bottom-right.png +0 -0
  682. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/bottom.png +0 -0
  683. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/close-active.png +0 -0
  684. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/close.png +0 -0
  685. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/left.png +0 -0
  686. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-bottom.png +0 -0
  687. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-left.png +0 -0
  688. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-right.png +0 -0
  689. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/pointer-top.png +0 -0
  690. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/right.png +0 -0
  691. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/search-active.png +0 -0
  692. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/search.png +0 -0
  693. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/top-left.png +0 -0
  694. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/top-right.png +0 -0
  695. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/picker/top.png +0 -0
  696. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/images/toolbar-bg.png +0 -0
  697. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/inspectors.js +365 -0
  698. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/loading.rhtml +0 -0
  699. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/english.lproj/main_page.js +0 -0
  700. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/english.lproj/strings.js +93 -0
  701. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/fixtures/file.js +0 -0
  702. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/main.js +28 -0
  703. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/mixins/drop_down.js +0 -0
  704. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/models/design.js +26 -0
  705. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/models/dir.js +93 -0
  706. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/models/file.js +51 -0
  707. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/models/target.js +0 -0
  708. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/models/view_config.js +0 -0
  709. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/resources/test_page.js +0 -0
  710. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/inspector.js +152 -0
  711. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/library.js +142 -0
  712. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/main.js +283 -0
  713. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/modals.js +299 -0
  714. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/states/ready.js +235 -0
  715. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/design.js +0 -0
  716. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/designs.js +0 -0
  717. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/file.js +0 -0
  718. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/controllers/files.js +0 -0
  719. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/models/file.js +0 -0
  720. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/tests/models/view_config.js +0 -0
  721. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/tests/views/list_item.js +16 -0
  722. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/tests/views/plist_item.js +20 -0
  723. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/theme.js +25 -0
  724. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/anchor.js +0 -0
  725. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/application_list_item.js +0 -0
  726. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/event_blocker.js +0 -0
  727. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/label_designer.js +0 -0
  728. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/list_item.js +0 -0
  729. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/plist_item.js +178 -0
  730. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/simple_button.js +0 -0
  731. data/lib/frameworks/sproutcore/frameworks/experimental/apps/greenhouse/views/tear_off_picker.js +56 -0
  732. data/lib/frameworks/sproutcore/{apps → frameworks/experimental/apps}/greenhouse/views/web.js +0 -0
  733. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/design.js +22 -0
  734. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/coders/object.js +349 -0
  735. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/controllers.js +23 -0
  736. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/design.js +43 -0
  737. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/designs.js +139 -0
  738. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_design.js +172 -0
  739. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/controllers/page_files.js +28 -0
  740. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/core.js +28 -0
  741. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_rule.js +22 -0
  742. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style.js +29 -0
  743. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/css/css_style_sheet.js +201 -0
  744. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/button.js +23 -0
  745. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/label.js +18 -0
  746. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/object_designer.js +298 -0
  747. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/tab.js +20 -0
  748. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/text_field.js +17 -0
  749. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/designers/view_designer.js +1269 -0
  750. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/css/designer.css +0 -0
  751. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/english.lproj/design_page.js +55 -0
  752. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/high_light.css +0 -0
  753. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/controller.png +0 -0
  754. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-bg.png +0 -0
  755. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-bg.png +0 -0
  756. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-divider.png +0 -0
  757. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-sel-bg.png +0 -0
  758. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/dock-item-sel-divider.png +0 -0
  759. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/english.lproj/images/main-bg.png +0 -0
  760. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/page.png +0 -0
  761. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/pane.png +0 -0
  762. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/images/view.png +0 -0
  763. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/english.lproj/selection_handles.css +0 -0
  764. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/binding.js +39 -0
  765. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/object.js +28 -0
  766. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/page.js +60 -0
  767. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/ext/view.js +29 -0
  768. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/button.js +13 -0
  769. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/mixins/snap_lines.js +227 -0
  770. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/tests/coders/page.js +54 -0
  771. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/tests/designers/view_designer.js +47 -0
  772. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/designer_drop_target.js +144 -0
  773. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/drawing.js +219 -0
  774. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/views/high_light.js +0 -0
  775. data/lib/frameworks/sproutcore/frameworks/{designer → experimental/frameworks/designer}/views/page_item_view.js +0 -0
  776. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/designer/views/selection_handles.js +78 -0
  777. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/README.md +11 -0
  778. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/device.js +215 -0
  779. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/device_motion/platform.js +67 -0
  780. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/README.md +46 -0
  781. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/models/record.js +112 -0
  782. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/many.js +79 -0
  783. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/simple.js +76 -0
  784. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/polymorphism/tests/models/polymorphism/single.js +67 -0
  785. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_child.js +229 -0
  786. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/mixins/split_thumb.js +236 -0
  787. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/render_delegates/split.js +18 -0
  788. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/render_delegates/split_divider.js +26 -0
  789. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/children.js +100 -0
  790. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/dividers.js +243 -0
  791. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/methods.js +294 -0
  792. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_child.js +135 -0
  793. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/tests/split_thumb.js +160 -0
  794. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split.js +929 -0
  795. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/split_divider.js +40 -0
  796. data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/split_view/views/thumb.js +26 -0
  797. data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/default_styles.css +5 -0
  798. data/lib/frameworks/sproutcore/frameworks/forms/english.lproj/strings.js +15 -0
  799. data/lib/frameworks/sproutcore/frameworks/forms/mixins/edit_mode.js +48 -0
  800. data/lib/frameworks/sproutcore/frameworks/forms/mixins/emptiness.js +94 -0
  801. data/lib/frameworks/sproutcore/frameworks/forms/render_delegates/form.js +21 -0
  802. data/lib/frameworks/sproutcore/frameworks/forms/render_delegates/form_row.js +20 -0
  803. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form.js +17 -0
  804. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_checkbox_field.js +17 -0
  805. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_field.js +17 -0
  806. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_label.js +17 -0
  807. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_radio_field.js +17 -0
  808. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_row.js +17 -0
  809. data/lib/frameworks/sproutcore/frameworks/forms/tests/views/form_text_field.js +17 -0
  810. data/lib/frameworks/sproutcore/frameworks/forms/views/form.js +286 -0
  811. data/lib/frameworks/sproutcore/frameworks/forms/views/form_row.js +187 -0
  812. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/tree.js +52 -43
  813. data/lib/frameworks/sproutcore/frameworks/foundation/core.js +15 -142
  814. data/lib/frameworks/sproutcore/frameworks/foundation/debug/control_test_pane.js +29 -21
  815. data/lib/frameworks/sproutcore/frameworks/foundation/delegates/inline_text_field.js +90 -0
  816. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/benchmark.css +146 -0
  817. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/bootstrap.rhtml +4 -16
  818. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/checkbox_view.css +5 -0
  819. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/favicon.ico +0 -0
  820. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/images/sproutcore.png +0 -0
  821. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/label.css +5 -0
  822. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/radio_view.css +7 -0
  823. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/text_field.css +4 -6
  824. data/lib/frameworks/sproutcore/frameworks/foundation/ext/string.js +89 -0
  825. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/pinch.js +119 -0
  826. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/swipe.js +234 -0
  827. data/lib/frameworks/sproutcore/frameworks/foundation/gestures/tap.js +157 -0
  828. data/lib/frameworks/sproutcore/frameworks/foundation/license.js +24 -26
  829. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_mixin.js +41 -0
  830. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/auto_resize.js +355 -0
  831. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/button.js +4 -350
  832. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/collection_content.js +10 -8
  833. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_display.js +8 -9
  834. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/content_value_support.js +227 -0
  835. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/control.js +105 -200
  836. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/editable.js +16 -15
  837. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/flowed_layout.js +745 -0
  838. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/gestureable.js +214 -0
  839. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editable.js +254 -0
  840. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor.js +188 -0
  841. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_editor_delegate.js +195 -0
  842. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inner_frame.js +194 -0
  843. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/static_layout.js +20 -21
  844. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/tree_item_content.js +57 -53
  845. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/validatable.js +18 -9
  846. data/lib/frameworks/sproutcore/frameworks/foundation/private/tree_item_observer.js +214 -203
  847. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/canvas_image.js +110 -0
  848. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/container.js +18 -0
  849. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/helpers/sizing.js +174 -0
  850. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/image.js +99 -0
  851. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/label.js +119 -0
  852. data/lib/frameworks/sproutcore/frameworks/foundation/render_delegates/render_delegate.js +386 -0
  853. data/lib/frameworks/sproutcore/frameworks/foundation/system/benchmark.js +404 -191
  854. data/lib/frameworks/sproutcore/frameworks/foundation/system/chance.js +65 -0
  855. data/lib/frameworks/sproutcore/frameworks/foundation/system/cookie.js +176 -0
  856. data/lib/frameworks/sproutcore/frameworks/foundation/system/core_query.js +20 -2006
  857. data/lib/frameworks/sproutcore/frameworks/foundation/system/exception_handler.js +9 -3
  858. data/lib/frameworks/sproutcore/frameworks/foundation/system/gesture.js +363 -0
  859. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_queue.js +433 -0
  860. data/lib/frameworks/sproutcore/frameworks/foundation/system/math.js +1 -1
  861. data/lib/frameworks/sproutcore/frameworks/foundation/system/module.js +591 -0
  862. data/lib/frameworks/sproutcore/frameworks/foundation/system/routes.js +123 -24
  863. data/lib/frameworks/sproutcore/frameworks/foundation/system/string.js +422 -0
  864. data/lib/frameworks/sproutcore/frameworks/foundation/system/task_queue.js +19 -16
  865. data/lib/frameworks/sproutcore/frameworks/foundation/system/text_selection.js +1 -1
  866. data/lib/frameworks/sproutcore/frameworks/foundation/system/user_defaults.js +91 -96
  867. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/colors.js +87 -0
  868. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/misc.js +157 -0
  869. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/range.js +71 -0
  870. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils/string_measurement.js +254 -0
  871. data/lib/frameworks/sproutcore/frameworks/foundation/tasks/preload_bundle.js +5 -5
  872. data/lib/frameworks/sproutcore/frameworks/foundation/tasks/task.js +1 -1
  873. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/outline_case.js +1 -1
  874. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/tree/selection_support.js +1 -1
  875. data/lib/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/methods.js +1 -1
  876. data/lib/frameworks/sproutcore/frameworks/foundation/tests/debug/control_test_pane/ui.js +1 -1
  877. data/lib/frameworks/sproutcore/frameworks/foundation/tests/delegates/inline_text_field/inline_text_field.js +150 -0
  878. data/lib/frameworks/sproutcore/frameworks/foundation/tests/integration/creating_views.js +9 -4
  879. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_display.js +6 -0
  880. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/content_value_support/content.js +168 -0
  881. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/displayProperties.js +1 -1
  882. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/editable/ui.js +44 -0
  883. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/beginEditing.js +194 -0
  884. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/commitEditing.js +150 -0
  885. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editable/discardEditing.js +151 -0
  886. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/beginEditing.js +114 -0
  887. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/commitEditing.js +151 -0
  888. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_editor/discardEditing.js +152 -0
  889. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/api.js +1 -1
  890. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/beginEditing.js +13 -22
  891. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/inline_text_field/ui.js +64 -0
  892. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/staticLayout.js +8 -1
  893. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/validatable/ui.js +1 -1
  894. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/flat_case.js +59 -59
  895. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/group_case.js +114 -114
  896. data/lib/frameworks/sproutcore/frameworks/foundation/tests/private/tree_item_observer/outline_case.js +74 -74
  897. data/lib/frameworks/sproutcore/frameworks/foundation/tests/render_delegates/render_delegate.js +78 -0
  898. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/cookie.js +182 -0
  899. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/setClass.js +19 -3
  900. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/math.js +1 -1
  901. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/routes.js +30 -20
  902. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/string.js +34 -0
  903. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/task_queue.js +8 -2
  904. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/user_defaults.js +6 -0
  905. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/pointInElement.js +241 -0
  906. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/range.js +6 -0
  907. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/credit_card.js +6 -0
  908. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/date.js +11 -13
  909. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/not_empty.js +1 -1
  910. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/number.js +6 -0
  911. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/password.js +6 -0
  912. data/lib/frameworks/sproutcore/frameworks/foundation/tests/validators/validator.js +6 -0
  913. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/methods.js +10 -2
  914. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/container/ui.js +76 -11
  915. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/image/ui.js +499 -46
  916. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/label/ui.js +32 -7
  917. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/methods.js +1 -1
  918. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/nextValidKeyView.js +110 -0
  919. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/text_field/ui.js +87 -3
  920. data/lib/frameworks/sproutcore/frameworks/foundation/validators/credit_card.js +2 -2
  921. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date.js +39 -12
  922. data/lib/frameworks/sproutcore/frameworks/foundation/validators/date_time.js +2 -2
  923. data/lib/frameworks/sproutcore/frameworks/foundation/validators/email.js +2 -2
  924. data/lib/frameworks/sproutcore/frameworks/foundation/validators/not_empty.js +6 -10
  925. data/lib/frameworks/sproutcore/frameworks/foundation/validators/number.js +3 -2
  926. data/lib/frameworks/sproutcore/frameworks/foundation/validators/password.js +2 -2
  927. data/lib/frameworks/sproutcore/frameworks/foundation/validators/positive_integer.js +3 -2
  928. data/lib/frameworks/sproutcore/frameworks/foundation/validators/validator.js +5 -3
  929. data/lib/frameworks/sproutcore/frameworks/foundation/views/container.js +16 -14
  930. data/lib/frameworks/sproutcore/frameworks/foundation/views/field.js +23 -6
  931. data/lib/frameworks/sproutcore/frameworks/foundation/views/image.js +307 -105
  932. data/lib/frameworks/sproutcore/frameworks/foundation/views/inline_text_field.js +654 -0
  933. data/lib/frameworks/sproutcore/frameworks/foundation/views/label.js +81 -195
  934. data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +287 -116
  935. data/lib/frameworks/sproutcore/frameworks/handlebars/handlebars.js +1435 -0
  936. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffer.js +390 -0
  937. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-buffered.js +210 -0
  938. data/lib/frameworks/sproutcore/frameworks/jquery/jquery-sc.js +12 -0
  939. data/lib/frameworks/sproutcore/frameworks/jquery/jquery.js +7179 -0
  940. data/lib/frameworks/sproutcore/frameworks/jquery/tests/set_class.js +40 -0
  941. data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +10 -8
  942. data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +4 -6
  943. data/lib/frameworks/sproutcore/frameworks/media/views/media_slider.js +1 -1
  944. data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +3 -3
  945. data/lib/frameworks/sproutcore/frameworks/media/views/simple_controls.js +4 -5
  946. data/lib/frameworks/sproutcore/frameworks/media/views/video.js +7 -7
  947. data/lib/frameworks/sproutcore/frameworks/mini/license.js +30 -28
  948. data/lib/frameworks/sproutcore/frameworks/qunit/README.md +24 -0
  949. data/lib/frameworks/sproutcore/frameworks/qunit/package.json +21 -0
  950. data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.css +215 -0
  951. data/lib/frameworks/sproutcore/frameworks/qunit/qunit/qunit.js +1442 -0
  952. data/lib/frameworks/sproutcore/frameworks/qunit/test/headless.html +24 -0
  953. data/lib/frameworks/sproutcore/frameworks/qunit/test/index.html +18 -0
  954. data/lib/frameworks/sproutcore/frameworks/qunit/test/logs.html +17 -0
  955. data/lib/frameworks/sproutcore/frameworks/qunit/test/logs.js +150 -0
  956. data/lib/frameworks/sproutcore/frameworks/qunit/test/same.js +1421 -0
  957. data/lib/frameworks/sproutcore/frameworks/qunit/test/test.js +314 -0
  958. data/lib/frameworks/sproutcore/frameworks/runtime/core.js +232 -537
  959. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array.js +14 -0
  960. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/base.js +163 -4
  961. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/indexOf.js +1 -1
  962. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/insertAt.js +1 -1
  963. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/objectAt.js +1 -1
  964. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/popObject.js +1 -1
  965. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/pushObject.js +1 -1
  966. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/rangeObserver.js +74 -74
  967. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeAt.js +1 -1
  968. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/removeObject.js +1 -1
  969. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +1 -1
  970. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/shiftObject.js +1 -1
  971. data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/unshiftObject.js +1 -1
  972. data/lib/frameworks/sproutcore/frameworks/runtime/ext/array.js +92 -0
  973. data/lib/frameworks/sproutcore/frameworks/runtime/ext/date.js +15 -0
  974. data/lib/frameworks/sproutcore/frameworks/runtime/ext/function.js +189 -0
  975. data/lib/frameworks/sproutcore/frameworks/runtime/ext/string.js +31 -0
  976. data/lib/frameworks/sproutcore/frameworks/runtime/license.js +29 -28
  977. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/array.js +577 -317
  978. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/comparable.js +16 -13
  979. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/copyable.js +25 -18
  980. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/enumerable.js +351 -308
  981. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/freezable.js +51 -52
  982. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/observable.js +1149 -1001
  983. data/lib/frameworks/sproutcore/frameworks/runtime/private/chain_observer.js +85 -45
  984. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_queue.js +61 -55
  985. data/lib/frameworks/sproutcore/frameworks/runtime/private/observer_set.js +51 -107
  986. data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +195 -0
  987. data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +361 -348
  988. data/lib/frameworks/sproutcore/frameworks/runtime/system/enumerator.js +24 -24
  989. data/lib/frameworks/sproutcore/frameworks/runtime/system/error.js +45 -40
  990. data/lib/frameworks/sproutcore/frameworks/runtime/system/function.js +76 -0
  991. data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +275 -265
  992. data/lib/frameworks/sproutcore/frameworks/runtime/system/json.js +515 -0
  993. data/lib/frameworks/sproutcore/frameworks/runtime/system/logger.js +1337 -204
  994. data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +312 -259
  995. data/lib/frameworks/sproutcore/frameworks/runtime/system/range_observer.js +89 -87
  996. data/lib/frameworks/sproutcore/frameworks/runtime/system/run_loop.js +119 -106
  997. data/lib/frameworks/sproutcore/frameworks/runtime/system/set.js +107 -101
  998. data/lib/frameworks/sproutcore/frameworks/runtime/system/string.js +60 -0
  999. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/IsEqual.js +23 -47
  1000. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/beget.js +6 -0
  1001. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/clone.js +1 -1
  1002. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/compare.js +1 -1
  1003. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/console.js +5 -0
  1004. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/guidFor.js +59 -126
  1005. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/inspect.js +6 -0
  1006. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/isArray.js +21 -19
  1007. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/itemType.js +71 -33
  1008. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/keys.js +6 -0
  1009. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/makeArray.js +21 -1
  1010. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/objectForPropertyPath.js +6 -0
  1011. data/lib/frameworks/sproutcore/frameworks/runtime/tests/core/tupleForPropertyPath.js +6 -0
  1012. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/array.js +39 -15
  1013. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/comparable.js +1 -1
  1014. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable.js +623 -0
  1015. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable/enumerable_observers.js +81 -0
  1016. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/chained.js +44 -0
  1017. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observable.js +286 -98
  1018. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/observersForKey.js +36 -0
  1019. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/propertyChanges.js +7 -1
  1020. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/observable/registerDependentKeys.js +78 -2
  1021. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/propertyChanges.js +7 -1
  1022. data/lib/frameworks/sproutcore/frameworks/runtime/tests/private/observer_queue/isObservingSuspended.js +1 -1
  1023. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/binding.js +87 -8
  1024. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/error.js +6 -0
  1025. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/add.js +1 -1
  1026. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/addEach.js +1 -1
  1027. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/clone.js +1 -1
  1028. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/contains.js +1 -1
  1029. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/create.js +1 -1
  1030. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexAfter.js +1 -1
  1031. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/indexBefore.js +1 -1
  1032. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/intersects.js +1 -1
  1033. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/max.js +1 -1
  1034. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/min.js +1 -1
  1035. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/rangeStartForIndex.js +1 -1
  1036. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/remove.js +1 -1
  1037. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/removeEach.js +1 -1
  1038. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/index_set/without.js +1 -1
  1039. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/json.js +21 -0
  1040. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/logger.js +180 -92
  1041. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/base.js +6 -0
  1042. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/bindings.js +11 -0
  1043. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/concatenated_properties.js +77 -0
  1044. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/object/enhance.js +196 -0
  1045. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/observer_set.js +56 -0
  1046. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/create.js +12 -12
  1047. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/destroy.js +1 -1
  1048. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/objectPropertyDidChange.js +1 -1
  1049. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/rangeDidChange.js +1 -1
  1050. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/range_observer/update.js +1 -1
  1051. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/run_loop.js +6 -0
  1052. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/set.js +77 -45
  1053. data/lib/frameworks/sproutcore/frameworks/statechart/core.js +4 -10
  1054. data/lib/frameworks/sproutcore/frameworks/statechart/debug/monitor.js +155 -0
  1055. data/lib/frameworks/sproutcore/frameworks/statechart/system/state.js +1241 -97
  1056. data/lib/frameworks/sproutcore/frameworks/statechart/system/statechart.js +1617 -0
  1057. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/advanced/respond_to_event.js +401 -0
  1058. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/advanced/without_concurrent_states.js +306 -0
  1059. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/with_concurrent_states.js +183 -0
  1060. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/basic/without_concurrent_states.js +122 -0
  1061. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/pane.js +89 -0
  1062. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/responder_chain.js +109 -0
  1063. data/lib/frameworks/sproutcore/frameworks/statechart/tests/event_handling/responder/root_responder.js +74 -0
  1064. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/initial_substate.js +67 -0
  1065. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/is_current_state.js +60 -0
  1066. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/namespacing.js +248 -0
  1067. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/plugin/mixin.js +68 -0
  1068. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/plugin/nesting.js +95 -0
  1069. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state/state_observes.js +235 -0
  1070. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/core.js +94 -0
  1071. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/with_concurrent_states.js +123 -0
  1072. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/async/without_concurrent_states.js +191 -0
  1073. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/initial_substate/core.js +48 -0
  1074. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/initial_substate/without_concurrent_states.js +218 -0
  1075. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/with_concurrent_states.js +88 -0
  1076. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/context.js +191 -0
  1077. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/history_state/standard/without_concurrent_states/core.js +200 -0
  1078. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/advanced.js +239 -0
  1079. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/basic.js +131 -0
  1080. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/with_concurrent_states/intermediate.js +120 -0
  1081. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/context.js +144 -0
  1082. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/standard/without_concurrent_states/core.js +281 -0
  1083. data/lib/frameworks/sproutcore/frameworks/statechart/tests/state_transitioning/transient/without_concurrent_states.js +162 -0
  1084. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/create/assigned_root_state.js +76 -0
  1085. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/create/unassigned_root_state.js +162 -0
  1086. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/destroy.js +73 -0
  1087. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/invoke_state_method.js +241 -0
  1088. data/lib/frameworks/sproutcore/frameworks/statechart/tests/statechart/owner.js +236 -0
  1089. data/lib/frameworks/sproutcore/frameworks/table/mixins/table_delegate.js +1 -1
  1090. data/lib/frameworks/sproutcore/frameworks/table/system/table_column.js +1 -1
  1091. data/lib/frameworks/sproutcore/frameworks/table/views/table.js +6 -5
  1092. data/lib/frameworks/sproutcore/frameworks/table/views/table_cell.js +3 -2
  1093. data/lib/frameworks/sproutcore/frameworks/table/views/table_head.js +2 -2
  1094. data/lib/frameworks/sproutcore/frameworks/table/views/table_header.js +6 -4
  1095. data/lib/frameworks/sproutcore/frameworks/table/views/table_row.js +2 -2
  1096. data/lib/frameworks/sproutcore/frameworks/testing/core.js +4 -1
  1097. data/lib/frameworks/sproutcore/frameworks/testing/extras.js +1 -1
  1098. data/lib/frameworks/sproutcore/frameworks/testing/system/dump.js +1 -1
  1099. data/lib/frameworks/sproutcore/frameworks/testing/system/equiv.js +1 -1
  1100. data/lib/frameworks/sproutcore/frameworks/testing/system/plan.js +32 -19
  1101. data/lib/frameworks/sproutcore/frameworks/testing/system/runner.js +13 -3
  1102. data/lib/frameworks/sproutcore/frameworks/testing/system/suite.js +1 -1
  1103. data/lib/frameworks/sproutcore/frameworks/testing/utils.js +1 -1
  1104. data/lib/frameworks/sproutcore/lib/index.rhtml +54 -9
  1105. data/lib/frameworks/sproutcore/license.js +32 -30
  1106. data/lib/frameworks/sproutcore/themes/ace/designs/dark.png +0 -0
  1107. data/lib/frameworks/sproutcore/themes/ace/designs/dark.psd +0 -0
  1108. data/lib/frameworks/sproutcore/themes/ace/designs/light.png +0 -0
  1109. data/lib/frameworks/sproutcore/themes/ace/designs/light.psd +0 -0
  1110. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/active_button.psd +0 -0
  1111. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/normal_button.psd +0 -0
  1112. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_active_button.psd +0 -0
  1113. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/18px/selected_button.psd +0 -0
  1114. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button.psd +0 -0
  1115. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_capsule.psd +0 -0
  1116. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/active_button_pointer.psd +0 -0
  1117. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button.psd +0 -0
  1118. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_capsule.psd +0 -0
  1119. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/normal_button_pointer.psd +0 -0
  1120. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button.psd +0 -0
  1121. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_capsule.psd +0 -0
  1122. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_active_button_pointer.psd +0 -0
  1123. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button.psd +0 -0
  1124. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_capsule.psd +0 -0
  1125. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/24px/selected_button_pointer.psd +0 -0
  1126. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button.psd +0 -0
  1127. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/active_button_pointer.psd +0 -0
  1128. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button.psd +0 -0
  1129. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/normal_button_pointer.psd +0 -0
  1130. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button.psd +0 -0
  1131. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_active_button_pointer.psd +0 -0
  1132. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button.psd +0 -0
  1133. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/30px/selected_button_pointer.psd +0 -0
  1134. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/active_button.psd +0 -0
  1135. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/normal_button.psd +0 -0
  1136. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_active_button.psd +0 -0
  1137. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/ace/44px/selected_button.psd +0 -0
  1138. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button.psd +0 -0
  1139. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_capsule.psd +0 -0
  1140. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/active_button_pointer.psd +0 -0
  1141. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button.psd +0 -0
  1142. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_capsule.psd +0 -0
  1143. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/normal_button_pointer.psd +0 -0
  1144. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button.psd +0 -0
  1145. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_capsule.psd +0 -0
  1146. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_active_button_pointer.psd +0 -0
  1147. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button.psd +0 -0
  1148. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_capsule.psd +0 -0
  1149. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/24px/selected_button_pointer.psd +0 -0
  1150. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button.psd +0 -0
  1151. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/active_button_pointer.psd +0 -0
  1152. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button.psd +0 -0
  1153. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/normal_button_pointer.psd +0 -0
  1154. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button.psd +0 -0
  1155. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_active_button_pointer.psd +0 -0
  1156. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button.psd +0 -0
  1157. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/dark/30px/selected_button_pointer.psd +0 -0
  1158. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/popup/active_select.psd +0 -0
  1159. data/lib/frameworks/sproutcore/themes/ace/designs/psds/button/popup/normal_select.psd +0 -0
  1160. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked.psd +0 -0
  1161. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_checked_active.psd +0 -0
  1162. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed.psd +0 -0
  1163. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_mixed_active.psd +0 -0
  1164. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked.psd +0 -0
  1165. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/14px/checkbox_unchecked_active.psd +0 -0
  1166. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked.psd +0 -0
  1167. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_checked_active.psd +0 -0
  1168. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed.psd +0 -0
  1169. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_mixed_active.psd +0 -0
  1170. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked.psd +0 -0
  1171. data/lib/frameworks/sproutcore/themes/ace/designs/psds/checkbox/ace/16px/checkbox_unchecked_active.psd +0 -0
  1172. data/lib/frameworks/sproutcore/themes/ace/designs/psds/collection/source-list/selection.psd +0 -0
  1173. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed.psd +0 -0
  1174. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_closed_active.psd +0 -0
  1175. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open.psd +0 -0
  1176. data/lib/frameworks/sproutcore/themes/ace/designs/psds/disclosure/ace/disclosure_open_active.psd +0 -0
  1177. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/checkmark.psd +0 -0
  1178. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/checkmark_active.psd +0 -0
  1179. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/down.psd +0 -0
  1180. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu.psd +0 -0
  1181. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/menu_item.psd +0 -0
  1182. data/lib/frameworks/sproutcore/themes/ace/designs/psds/menu/up.psd +0 -0
  1183. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/panel.psd +0 -0
  1184. data/lib/frameworks/sproutcore/themes/ace/designs/psds/panel/pointers.psd +0 -0
  1185. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover.psd +0 -0
  1186. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_empty.psd +0 -0
  1187. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_notoolbar.psd +0 -0
  1188. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers.psd +0 -0
  1189. data/lib/frameworks/sproutcore/themes/ace/designs/psds/picker/popover/popover_pointers_notoolbar.psd +0 -0
  1190. data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_content.psd +0 -0
  1191. data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_indeterminate_content.psd +0 -0
  1192. data/lib/frameworks/sproutcore/themes/ace/designs/psds/progress/ace/progress_view_track.psd +0 -0
  1193. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_active.psd +0 -0
  1194. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_mixed.psd +0 -0
  1195. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_mixed_active.psd +0 -0
  1196. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_selected.psd +0 -0
  1197. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_selected_active.psd +0 -0
  1198. data/lib/frameworks/sproutcore/themes/ace/designs/psds/radio/radio_unselected.psd +0 -0
  1199. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/thumb.psd +0 -0
  1200. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows.psd +0 -0
  1201. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/horizontal/track_and_arrows_active.psd +0 -0
  1202. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/thumb.psd +0 -0
  1203. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows.psd +0 -0
  1204. data/lib/frameworks/sproutcore/themes/ace/designs/psds/scroller/vertical/track_and_arrows_active.psd +0 -0
  1205. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_active.psd +0 -0
  1206. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_normal.psd +0 -0
  1207. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected.psd +0 -0
  1208. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/18px/segmented_selected_active.psd +0 -0
  1209. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_active.psd +0 -0
  1210. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_normal.psd +0 -0
  1211. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected.psd +0 -0
  1212. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/24px/segmented_selected_active.psd +0 -0
  1213. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_active.psd +0 -0
  1214. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_normal.psd +0 -0
  1215. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected.psd +0 -0
  1216. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/30px/segmented_selected_active.psd +0 -0
  1217. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_active.psd +0 -0
  1218. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_normal.psd +0 -0
  1219. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected.psd +0 -0
  1220. data/lib/frameworks/sproutcore/themes/ace/designs/psds/segmented/44px/segmented_selected_active.psd +0 -0
  1221. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob.psd +0 -0
  1222. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/14px/knob_active.psd +0 -0
  1223. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob.psd +0 -0
  1224. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/16px/knob_active.psd +0 -0
  1225. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob.psd +0 -0
  1226. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/knob_active.psd +0 -0
  1227. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/22px/track.psd +0 -0
  1228. data/lib/frameworks/sproutcore/themes/ace/designs/psds/slider/ace/track.psd +0 -0
  1229. data/lib/frameworks/sproutcore/themes/ace/designs/psds/toolbar/toolbar.psd +0 -0
  1230. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch.psd +0 -0
  1231. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_handle.png +0 -0
  1232. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_handle.psd +0 -0
  1233. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_off.png +0 -0
  1234. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_off.psd +0 -0
  1235. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_on.png +0 -0
  1236. data/lib/frameworks/sproutcore/themes/ace/designs/switch/switch_on.psd +0 -0
  1237. data/lib/frameworks/sproutcore/themes/ace/resources/body.css +13 -0
  1238. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/active_button.png +0 -0
  1239. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/button.css +33 -0
  1240. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/normal_button.png +0 -0
  1241. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/selected_active_button.png +0 -0
  1242. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/18px/selected_button.png +0 -0
  1243. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button.png +0 -0
  1244. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button_capsule.png +0 -0
  1245. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/active_button_pointer.png +0 -0
  1246. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/button.css +102 -0
  1247. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button.png +0 -0
  1248. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button_capsule.png +0 -0
  1249. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/normal_button_pointer.png +0 -0
  1250. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button.png +0 -0
  1251. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_capsule.png +0 -0
  1252. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_active_button_pointer.png +0 -0
  1253. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button.png +0 -0
  1254. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button_capsule.png +0 -0
  1255. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/24px/selected_button_pointer.png +0 -0
  1256. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/active_button.png +0 -0
  1257. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/active_button_pointer.png +0 -0
  1258. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/button.css +78 -0
  1259. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/normal_button.png +0 -0
  1260. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/normal_button_pointer.png +0 -0
  1261. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button.png +0 -0
  1262. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_active_button_pointer.png +0 -0
  1263. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_button.png +0 -0
  1264. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/30px/selected_button_pointer.png +0 -0
  1265. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/active_button.png +0 -0
  1266. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/button.css +39 -0
  1267. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/normal_button.png +0 -0
  1268. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_active_button.png +0 -0
  1269. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/44px/selected_button.png +0 -0
  1270. data/lib/frameworks/sproutcore/themes/ace/resources/button/ace/button.css +41 -0
  1271. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button.png +0 -0
  1272. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button_capsule.png +0 -0
  1273. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/active_button_pointer.png +0 -0
  1274. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/button.css +93 -0
  1275. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button.png +0 -0
  1276. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button_capsule.png +0 -0
  1277. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/normal_button_pointer.png +0 -0
  1278. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button.png +0 -0
  1279. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_capsule.png +0 -0
  1280. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_active_button_pointer.png +0 -0
  1281. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button.png +0 -0
  1282. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button_capsule.png +0 -0
  1283. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/24px/selected_button_pointer.png +0 -0
  1284. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/active_button.png +0 -0
  1285. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/active_button_pointer.png +0 -0
  1286. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/button.css +72 -0
  1287. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/normal_button.png +0 -0
  1288. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/normal_button_pointer.png +0 -0
  1289. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button.png +0 -0
  1290. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_active_button_pointer.png +0 -0
  1291. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_button.png +0 -0
  1292. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/30px/selected_button_pointer.png +0 -0
  1293. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/button.css +17 -0
  1294. data/lib/frameworks/sproutcore/themes/ace/resources/button/dark/button.js +5 -0
  1295. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/active_select.png +0 -0
  1296. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/normal_select.png +0 -0
  1297. data/lib/frameworks/sproutcore/themes/ace/resources/button/popup/select.css +21 -0
  1298. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox.css +40 -0
  1299. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked.png +0 -0
  1300. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_checked_active.png +0 -0
  1301. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed.png +0 -0
  1302. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_mixed_active.png +0 -0
  1303. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked.png +0 -0
  1304. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/14px/checkbox_unchecked_active.png +0 -0
  1305. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox.css +40 -0
  1306. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked.png +0 -0
  1307. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_checked_active.png +0 -0
  1308. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed.png +0 -0
  1309. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_mixed_active.png +0 -0
  1310. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked.png +0 -0
  1311. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/16px/checkbox_unchecked_active.png +0 -0
  1312. data/lib/frameworks/sproutcore/themes/ace/resources/checkbox/ace/checkbox.css +7 -0
  1313. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list.css +4 -0
  1314. data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list_item.css +17 -0
  1315. data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/selection.png +0 -0
  1316. data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/source-list.js +3 -0
  1317. data/lib/frameworks/sproutcore/themes/ace/resources/collection/source-list/source_list_view.css +36 -0
  1318. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure.css +24 -0
  1319. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed.png +0 -0
  1320. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_closed_active.png +0 -0
  1321. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open.png +0 -0
  1322. data/lib/frameworks/sproutcore/themes/ace/resources/disclosure/ace/disclosure_open_active.png +0 -0
  1323. data/lib/frameworks/sproutcore/themes/ace/resources/imagebutton/ace/imagebutton.css +11 -0
  1324. data/lib/frameworks/sproutcore/themes/ace/resources/loading.css +50 -0
  1325. data/lib/frameworks/sproutcore/themes/ace/resources/master-detail/master-detail.css +27 -0
  1326. data/lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark.png +0 -0
  1327. data/lib/frameworks/sproutcore/themes/ace/resources/menu/checkmark_active.png +0 -0
  1328. data/lib/frameworks/sproutcore/themes/ace/resources/menu/down.png +0 -0
  1329. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.css +79 -0
  1330. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu.png +0 -0
  1331. data/lib/frameworks/sproutcore/themes/ace/resources/menu/menu_item.png +0 -0
  1332. data/lib/frameworks/sproutcore/themes/ace/resources/menu/up.png +0 -0
  1333. data/lib/frameworks/sproutcore/themes/ace/resources/pane/pane.css +3 -0
  1334. data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.css +13 -0
  1335. data/lib/frameworks/sproutcore/themes/ace/resources/panel/panel.png +0 -0
  1336. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/panel.png +0 -0
  1337. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.css +41 -0
  1338. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/picker.js +0 -0
  1339. data/lib/frameworks/sproutcore/themes/ace/resources/picker/ace/pointers.png +0 -0
  1340. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/picker.js +32 -0
  1341. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.css +111 -0
  1342. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.js +12 -0
  1343. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover.png +0 -0
  1344. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_empty.png +0 -0
  1345. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_notoolbar.png +0 -0
  1346. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_pointers.png +0 -0
  1347. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/popover_pointers_notoolbar.png +0 -0
  1348. data/lib/frameworks/sproutcore/themes/ace/resources/picker/popover/workspace.js +28 -0
  1349. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress.css +27 -0
  1350. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_content.png +0 -0
  1351. data/lib/frameworks/sproutcore/themes/ace/resources/progress/ace/progress_view_track.png +0 -0
  1352. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio.css +57 -0
  1353. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_active.png +0 -0
  1354. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_mixed.png +0 -0
  1355. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_mixed_active.png +0 -0
  1356. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_selected.png +0 -0
  1357. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_selected_active.png +0 -0
  1358. data/lib/frameworks/sproutcore/themes/ace/resources/radio/radio_unselected.png +0 -0
  1359. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal.css +78 -0
  1360. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/horizontal_touch.css +91 -0
  1361. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/thumb.png +0 -0
  1362. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows.png +0 -0
  1363. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/horizontal/track_and_arrows_active.png +0 -0
  1364. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/thumb.png +0 -0
  1365. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows.png +0 -0
  1366. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/track_and_arrows_active.png +0 -0
  1367. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical.css +80 -0
  1368. data/lib/frameworks/sproutcore/themes/ace/resources/scroller/vertical/vertical_touch.css +92 -0
  1369. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented.css +91 -0
  1370. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_active.png +0 -0
  1371. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_normal.png +0 -0
  1372. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_selected.png +0 -0
  1373. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/18px/segmented_selected_active.png +0 -0
  1374. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented.css +91 -0
  1375. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_active.png +0 -0
  1376. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_normal.png +0 -0
  1377. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_selected.png +0 -0
  1378. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/24px/segmented_selected_active.png +0 -0
  1379. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented.css +91 -0
  1380. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_active.png +0 -0
  1381. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_normal.png +0 -0
  1382. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_selected.png +0 -0
  1383. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/30px/segmented_selected_active.png +0 -0
  1384. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented.css +95 -0
  1385. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_active.png +0 -0
  1386. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_normal.png +0 -0
  1387. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_selected.png +0 -0
  1388. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/44px/segmented_selected_active.png +0 -0
  1389. data/lib/frameworks/sproutcore/themes/ace/resources/segmented/segmented.css +83 -0
  1390. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob.png +0 -0
  1391. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/knob_active.png +0 -0
  1392. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/14px/slider.css +27 -0
  1393. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob.png +0 -0
  1394. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/knob_active.png +0 -0
  1395. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/16px/slider.css +27 -0
  1396. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob.png +0 -0
  1397. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/knob_active.png +0 -0
  1398. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/slider.css +27 -0
  1399. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/22px/track.png +0 -0
  1400. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/slider.css +8 -0
  1401. data/lib/frameworks/sproutcore/themes/ace/resources/slider/ace/track.png +0 -0
  1402. data/lib/frameworks/sproutcore/themes/ace/resources/split/split.css +31 -0
  1403. data/lib/frameworks/sproutcore/themes/ace/resources/tab/tab.css +3 -0
  1404. data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.css +8 -0
  1405. data/lib/frameworks/sproutcore/themes/ace/resources/toolbar/toolbar.png +0 -0
  1406. data/lib/frameworks/sproutcore/themes/ace/resources/well/well.css +7 -0
  1407. data/lib/frameworks/sproutcore/themes/ace/theme.js +30 -0
  1408. data/lib/frameworks/sproutcore/themes/empty_theme/theme.js +16 -0
  1409. data/lib/frameworks/sproutcore/themes/iphone_theme/english.lproj/strings.js +1 -1
  1410. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/Panel.drawit/Data +0 -0
  1411. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/Panel.drawit/QuickLook/Preview.jpg +0 -0
  1412. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/Panel.drawit/QuickLook/Thumbnail.jpg +0 -0
  1413. data/lib/frameworks/sproutcore/themes/standard_theme/Source/SproutCore Theme Buttons.psd b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/SproutCore Theme → Buttons.psd +0 -0
  1414. data/lib/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/Data b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/ToolbarView → Pattern.drawit/Data +0 -0
  1415. data/lib/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Preview.jpg b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/ToolbarView → Pattern.drawit/QuickLook/Preview.jpg +0 -0
  1416. data/lib/frameworks/sproutcore/themes/standard_theme/Source/ToolbarView Pattern.drawit/QuickLook/Thumbnail.jpg b/data/lib/frameworks/sproutcore/themes/legacy_theme/Source/ToolbarView → Pattern.drawit/QuickLook/Thumbnail.jpg +0 -0
  1417. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/10.png +0 -0
  1418. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/100.png +0 -0
  1419. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/102.png +0 -0
  1420. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/110.png +0 -0
  1421. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/120.png +0 -0
  1422. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/127.png +0 -0
  1423. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/18.png +0 -0
  1424. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/19.png +0 -0
  1425. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/2.png +0 -0
  1426. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/24.png +0 -0
  1427. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/26.png +0 -0
  1428. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/27.png +0 -0
  1429. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/28.png +0 -0
  1430. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/29.png +0 -0
  1431. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/30.png +0 -0
  1432. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/31.png +0 -0
  1433. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/33.png +0 -0
  1434. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/37.png +0 -0
  1435. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/41.png +0 -0
  1436. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/16/99.png +0 -0
  1437. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/10.png +0 -0
  1438. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/100.png +0 -0
  1439. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/102.png +0 -0
  1440. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/110.png +0 -0
  1441. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/120.png +0 -0
  1442. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/127.png +0 -0
  1443. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/18.png +0 -0
  1444. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/19.png +0 -0
  1445. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/2.png +0 -0
  1446. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/24.png +0 -0
  1447. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/26.png +0 -0
  1448. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/27.png +0 -0
  1449. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/28.png +0 -0
  1450. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/29.png +0 -0
  1451. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/30.png +0 -0
  1452. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/31.png +0 -0
  1453. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/33.png +0 -0
  1454. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/37.png +0 -0
  1455. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/41.png +0 -0
  1456. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/24/99.png +0 -0
  1457. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/10.png +0 -0
  1458. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/100.png +0 -0
  1459. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/102.png +0 -0
  1460. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/110.png +0 -0
  1461. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/120.png +0 -0
  1462. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/127.png +0 -0
  1463. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/18.png +0 -0
  1464. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/19.png +0 -0
  1465. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/2.png +0 -0
  1466. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/24.png +0 -0
  1467. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/26.png +0 -0
  1468. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/27.png +0 -0
  1469. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/28.png +0 -0
  1470. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/29.png +0 -0
  1471. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/30.png +0 -0
  1472. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/31.png +0 -0
  1473. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/33.png +0 -0
  1474. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/37.png +0 -0
  1475. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/41.png +0 -0
  1476. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/32/99.png +0 -0
  1477. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/10.png +0 -0
  1478. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/18.png +0 -0
  1479. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/19.png +0 -0
  1480. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/icons/48/2.png +0 -0
  1481. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-x.drawit/Data +0 -0
  1482. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-x.drawit/QuickLook/Preview.jpg +0 -0
  1483. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-x.drawit/QuickLook/Thumbnail.jpg +0 -0
  1484. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-y.drawit/Data +0 -0
  1485. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-y.drawit/QuickLook/Preview.jpg +0 -0
  1486. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/panel-sprite-y.drawit/QuickLook/Thumbnail.jpg +0 -0
  1487. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-repeat-x-2.psd +0 -0
  1488. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-repeat-x.psd +0 -0
  1489. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-sprite.psd +0 -0
  1490. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sc-theme-ysprite.psd +0 -0
  1491. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/shared-icons.psd +0 -0
  1492. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sproutcore-logo.psd +0 -0
  1493. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/Source/sticky-note.psd +0 -0
  1494. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/button.css +0 -0
  1495. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/checkbox.css +0 -0
  1496. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/collection.css +0 -0
  1497. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/core.css +0 -0
  1498. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/disclosure.css +0 -0
  1499. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_222222.png +0 -0
  1500. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_454545.png +0 -0
  1501. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_888888.png +0 -0
  1502. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/icons/mini_ffffff.png +0 -0
  1503. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/panels/sprite-x.png +0 -0
  1504. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/panels/sprite-y.png +0 -0
  1505. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-scroller-repeat-x.png +0 -0
  1506. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-scroller-repeat-y.png +0 -0
  1507. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-scroller-sprite.png +0 -0
  1508. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-theme-repeat-x.png +0 -0
  1509. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-theme-ysprite.png +0 -0
  1510. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/images/sc-toolbar-view.png +0 -0
  1511. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/label.css +0 -0
  1512. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/list_item.css +0 -0
  1513. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/menu.css +0 -0
  1514. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/menu_item_view.css +0 -0
  1515. data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/pane.css +18 -0
  1516. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/panel.css +0 -0
  1517. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/picker.css +0 -0
  1518. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/progress.css +0 -0
  1519. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/radio.css +0 -0
  1520. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/scroller.css +0 -0
  1521. data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/segmented.css +270 -0
  1522. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/slider.css +0 -0
  1523. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/split_view.css +0 -0
  1524. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/tab.css +0 -0
  1525. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/table.css +0 -0
  1526. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/text_field.css +0 -0
  1527. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/toolbar.css +0 -0
  1528. data/lib/frameworks/sproutcore/themes/{standard_theme → legacy_theme}/english.lproj/well.css +0 -0
  1529. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/button.js +89 -0
  1530. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/panel.js +28 -0
  1531. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/progress.js +194 -0
  1532. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/slider.js +67 -0
  1533. data/lib/frameworks/sproutcore/themes/legacy_theme/render_delegates/well.js +27 -0
  1534. data/lib/frameworks/sproutcore/themes/legacy_theme/theme.js +13 -0
  1535. data/lib/gen/app/templates/apps/@target_name@/Buildfile +14 -0
  1536. data/lib/gen/app/templates/apps/@target_name@/theme.js +27 -0
  1537. data/lib/gen/html_app/Buildfile +36 -0
  1538. data/lib/gen/html_app/README +1 -0
  1539. data/lib/gen/html_app/USAGE +15 -0
  1540. data/lib/gen/html_app/templates/apps/@target_name@/@target_name@.js +14 -0
  1541. data/lib/gen/html_app/templates/apps/@target_name@/resources/images/.gitkeep +0 -0
  1542. data/lib/gen/html_app/templates/apps/@target_name@/resources/stylesheets/@target_name@.css +4 -0
  1543. data/lib/gen/html_app/templates/apps/@target_name@/resources/templates/@target_name@.handlebars +1 -0
  1544. data/lib/gen/html_project/Buildfile +45 -0
  1545. data/lib/gen/html_project/INIT +3 -0
  1546. data/lib/gen/html_project/README +1 -0
  1547. data/lib/gen/html_project/USAGE +2 -0
  1548. data/lib/gen/html_project/templates/@filename@/Buildfile +8 -0
  1549. data/lib/gen/html_project/templates/@filename@/README +7 -0
  1550. data/lib/gen/project/templates/@filename@/Buildfile +7 -2
  1551. data/lib/gen/theme/templates/themes/@target_name@/Buildfile +3 -0
  1552. data/lib/gen/theme/templates/themes/@target_name@/theme.js +23 -0
  1553. data/lib/sproutcore.rb +11 -2
  1554. data/lib/sproutcore/builders.rb +4 -2
  1555. data/lib/sproutcore/builders/base.rb +10 -3
  1556. data/lib/sproutcore/builders/chance_file.rb +78 -0
  1557. data/lib/sproutcore/builders/combine.rb +6 -5
  1558. data/lib/sproutcore/builders/handlebars.rb +30 -0
  1559. data/lib/sproutcore/builders/html.rb +2 -0
  1560. data/lib/sproutcore/builders/javascript.rb +15 -2
  1561. data/lib/sproutcore/builders/minify.rb +14 -25
  1562. data/lib/sproutcore/builders/module.rb +74 -0
  1563. data/lib/sproutcore/builders/string_wrapper.rb +41 -0
  1564. data/lib/sproutcore/buildfile.rb +17 -17
  1565. data/lib/sproutcore/buildfile/task.rb +4 -12
  1566. data/lib/sproutcore/buildfile/task_manager.rb +13 -4
  1567. data/lib/sproutcore/helpers.rb +1 -1
  1568. data/lib/sproutcore/helpers/entry_sorter.rb +5 -9
  1569. data/lib/sproutcore/helpers/minifier.rb +110 -0
  1570. data/lib/sproutcore/helpers/static_helper.rb +105 -39
  1571. data/lib/sproutcore/models/generator.rb +16 -0
  1572. data/lib/sproutcore/models/manifest.rb +3 -3
  1573. data/lib/sproutcore/models/manifest_entry.rb +10 -3
  1574. data/lib/sproutcore/models/target.rb +146 -34
  1575. data/lib/sproutcore/rack/dev.rb +3 -3
  1576. data/lib/sproutcore/rack/proxy.rb +1 -1
  1577. data/lib/sproutcore/tools.rb +53 -5
  1578. data/lib/sproutcore/tools/build.rb +10 -16
  1579. data/lib/sproutcore/tools/docs.rb +1 -1
  1580. data/lib/sproutcore/tools/gen.rb +1 -1
  1581. data/lib/sproutcore/tools/init.rb +26 -10
  1582. data/lib/sproutcore/tools/server.rb +9 -1
  1583. data/lib/sproutcore/version.rb +1 -0
  1584. data/spec/buildtasks/manifest/prepare_build_tasks/chance_2x_spec.rb +100 -0
  1585. data/spec/buildtasks/manifest/prepare_build_tasks/chance_spec.rb +104 -0
  1586. data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +86 -9
  1587. data/spec/buildtasks/manifest/prepare_build_tasks/css_spec.rb +1 -1
  1588. data/spec/buildtasks/manifest/prepare_build_tasks/handlebars_spec.rb +39 -0
  1589. data/spec/buildtasks/manifest/prepare_build_tasks/minify_spec.rb +1 -1
  1590. data/spec/buildtasks/manifest/prepare_build_tasks/module_info_spec.rb +96 -0
  1591. data/spec/buildtasks/manifest/prepare_build_tasks/module_spec.rb +83 -0
  1592. data/spec/buildtasks/manifest/prepare_build_tasks/packed_2x_indirect_spec.rb +191 -0
  1593. data/spec/buildtasks/manifest/prepare_build_tasks/packed_2x_spec.rb +185 -0
  1594. data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +46 -11
  1595. data/spec/buildtasks/manifest/spec_helper.rb +4 -0
  1596. data/spec/fixtures/builder_tests/Buildfile +11 -9
  1597. data/spec/fixtures/builder_tests/apps/chance_test/Buildfile +14 -0
  1598. data/spec/fixtures/builder_tests/apps/chance_test/core.js +27 -0
  1599. data/spec/fixtures/builder_tests/apps/chance_test/main.js +30 -0
  1600. data/spec/fixtures/builder_tests/apps/chance_test/resources/demo.css +6 -0
  1601. data/spec/fixtures/builder_tests/apps/chance_test/resources/force@2x.png +0 -0
  1602. data/spec/fixtures/builder_tests/apps/chance_test/resources/last_file.css +7 -0
  1603. data/spec/fixtures/builder_tests/apps/chance_test/resources/loading.rhtml +9 -0
  1604. data/spec/fixtures/builder_tests/apps/chance_test/resources/main_page.js +24 -0
  1605. data/spec/fixtures/builder_tests/apps/chance_test/resources/z_first_file.css +6 -0
  1606. data/spec/fixtures/builder_tests/apps/chance_test/theme.js +27 -0
  1607. data/spec/fixtures/builder_tests/apps/handlebars_test/template.handlebars +5 -0
  1608. data/spec/fixtures/builder_tests/apps/module_test/module.js +1 -0
  1609. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/english.lproj/req_style_2.css +0 -0
  1610. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/english.lproj/test.rhtml +1 -0
  1611. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/javascript.js +1 -0
  1612. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/lib/alt_layout.rhtml +0 -0
  1613. data/spec/fixtures/builder_tests/apps/module_test/modules/deferred_module/req_js_2.js +0 -0
  1614. data/spec/fixtures/builder_tests/apps/module_test/modules/dynamic_req_target_1/dynamic_req_js_1.js +0 -0
  1615. data/spec/fixtures/builder_tests/apps/module_test/modules/dynamic_req_target_1/english.lproj/dynamic_req_style_1.css +0 -0
  1616. data/spec/fixtures/builder_tests/apps/module_test/modules/inlined_module/README +0 -0
  1617. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/english.lproj/req_style_1.css +0 -0
  1618. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/english.lproj/strings.js +4 -0
  1619. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/english.lproj/test.rhtml +1 -0
  1620. data/spec/fixtures/builder_tests/apps/module_test/modules/required_target/req_js_1.js +0 -0
  1621. data/spec/fixtures/helper_tests/apps/minifier_test/core.js +8 -0
  1622. data/spec/fixtures/real_world/Buildfile +11 -1
  1623. data/spec/fixtures/real_world/apps/account/modules/preferences/README +0 -0
  1624. data/spec/fixtures/real_world/apps/calendar/modules/preferences/README +0 -0
  1625. data/spec/fixtures/real_world/apps/contacts/modules/preferences/README +0 -0
  1626. data/spec/fixtures/real_world/apps/contacts/modules/printing/README +0 -0
  1627. data/spec/fixtures/real_world/apps/mail/modules/preferences/README +0 -0
  1628. data/spec/fixtures/real_world/apps/mail/modules/printing/README +0 -0
  1629. data/spec/fixtures/real_world/apps/photos/modules/email/README +0 -0
  1630. data/spec/fixtures/real_world/apps/photos/modules/preferences/README +0 -0
  1631. data/spec/fixtures/real_world/frameworks/no_2x/resources/test.css +1 -0
  1632. data/spec/fixtures/real_world/frameworks/no_2x/resources/test.png +0 -0
  1633. data/spec/fixtures/real_world/frameworks/sproutcore/english.lproj/templates/demo.handlebars +4 -0
  1634. data/spec/fixtures/real_world/frameworks/sproutcore/resources/force@2x.png +0 -0
  1635. data/spec/lib/builders/chance_file_spec.rb +44 -0
  1636. data/spec/lib/builders/handlebars_spec.rb +29 -0
  1637. data/spec/lib/builders/module_spec.rb +133 -0
  1638. data/spec/lib/builders/strings_spec.rb +1 -0
  1639. data/spec/lib/helpers/minifier.rb +31 -0
  1640. data/spec/lib/models/project/find_targets_for_spec.rb +1 -1
  1641. data/sproutcore.gemspec +11 -4
  1642. data/vendor/chance/.gitignore +5 -0
  1643. data/vendor/chance/Gemfile +4 -0
  1644. data/vendor/chance/Rakefile +2 -0
  1645. data/vendor/chance/bin/chance +46 -0
  1646. data/vendor/chance/chance.gemspec +28 -0
  1647. data/vendor/chance/lib/chance.rb +156 -0
  1648. data/vendor/chance/lib/chance/instance.rb +330 -0
  1649. data/vendor/chance/lib/chance/instance/data_url.rb +85 -0
  1650. data/vendor/chance/lib/chance/instance/javascript.rb +19 -0
  1651. data/vendor/chance/lib/chance/instance/slicing.rb +181 -0
  1652. data/vendor/chance/lib/chance/instance/spriting.rb +311 -0
  1653. data/vendor/chance/lib/chance/parser.rb +835 -0
  1654. data/vendor/chance/lib/chance/perf.rb +17 -0
  1655. data/vendor/chance/lib/chance/version.rb +3 -0
  1656. data/vendor/chance/lib/tester/test.rb +108 -0
  1657. data/vendor/chance/lib/tester/test_runner.rb +27 -0
  1658. data/vendor/chance/test/case/abc.png +0 -0
  1659. data/vendor/chance/test/case/more/abc.png +0 -0
  1660. data/vendor/chance/test/case/more/another.css +4 -0
  1661. data/vendor/chance/test/case/test1.css +22 -0
  1662. data/vendor/chance/test/case/test2.css +6 -0
  1663. data/vendor/chance/tests/parser/basic/input/test.css +4 -0
  1664. data/vendor/chance/tests/parser/basic/output/test.parsed.css +5 -0
  1665. data/vendor/sproutcore/SCCompiler.jar +0 -0
  1666. data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
  1667. data/vendor/sproutcore/lib/htmlcompressor-0.9.3.jar +0 -0
  1668. data/{lib/sproutcore/vendor/yui-compressor → vendor/sproutcore/lib}/yuicompressor-2.4.2.jar +0 -0
  1669. data/vendor/sproutcore/src/SCCompiler/build.xml +74 -0
  1670. data/vendor/sproutcore/src/SCCompiler/lib/args4j-2.0.12.jar +0 -0
  1671. data/vendor/sproutcore/src/SCCompiler/lib/htmlcompressor-0.9.3.jar +0 -0
  1672. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.2.jar +0 -0
  1673. data/vendor/sproutcore/src/SCCompiler/lib/yuicompressor-2.4.4.jar +0 -0
  1674. data/vendor/sproutcore/src/SCCompiler/manifest.mf +3 -0
  1675. data/vendor/sproutcore/src/SCCompiler/nbproject/build-impl.xml +894 -0
  1676. data/vendor/sproutcore/src/SCCompiler/nbproject/genfiles.properties +8 -0
  1677. data/vendor/sproutcore/src/SCCompiler/nbproject/private/config.properties +0 -0
  1678. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.properties +10 -0
  1679. data/vendor/sproutcore/src/SCCompiler/nbproject/private/private.xml +4 -0
  1680. data/vendor/sproutcore/src/SCCompiler/nbproject/project.properties +90 -0
  1681. data/vendor/sproutcore/src/SCCompiler/nbproject/project.xml +15 -0
  1682. data/vendor/sproutcore/src/SCCompiler/src/com/sproutcore/Main.java +348 -0
  1683. metadata +1236 -560
  1684. data/lib/frameworks/sproutcore/CHANGELOG +0 -93
  1685. data/lib/frameworks/sproutcore/CHANGELOG-1.4.md +0 -170
  1686. data/lib/frameworks/sproutcore/apps/docs/core.js +0 -27
  1687. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Preview.pdf +0 -0
  1688. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/QuickLook/Thumbnail.tiff +0 -0
  1689. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/data.plist +0 -14378
  1690. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image10.png +0 -0
  1691. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image14.png +0 -0
  1692. data/lib/frameworks/sproutcore/apps/docs/design/Doc Viewer.graffle/image9.tiff +0 -0
  1693. data/lib/frameworks/sproutcore/apps/docs/english.lproj/loading.rhtml +0 -9
  1694. data/lib/frameworks/sproutcore/apps/docs/english.lproj/main_page.js +0 -22
  1695. data/lib/frameworks/sproutcore/apps/docs/english.lproj/strings.js +0 -15
  1696. data/lib/frameworks/sproutcore/apps/docs/main.js +0 -30
  1697. data/lib/frameworks/sproutcore/apps/greenhouse/README +0 -25
  1698. data/lib/frameworks/sproutcore/apps/greenhouse/TODO +0 -72
  1699. data/lib/frameworks/sproutcore/apps/greenhouse/controllers/file.js +0 -75
  1700. data/lib/frameworks/sproutcore/apps/greenhouse/controllers/library.js +0 -201
  1701. data/lib/frameworks/sproutcore/apps/greenhouse/core.js +0 -67
  1702. data/lib/frameworks/sproutcore/apps/greenhouse/core_file.js +0 -124
  1703. data/lib/frameworks/sproutcore/apps/greenhouse/data_source.js +0 -250
  1704. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/app_page.js +0 -377
  1705. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/app-selector.css +0 -111
  1706. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/button.css +0 -310
  1707. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/dock.css +0 -85
  1708. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/general.css +0 -52
  1709. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/main-page.css +0 -120
  1710. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/menu.css +0 -52
  1711. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/modal.css +0 -40
  1712. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/picker.css +0 -188
  1713. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/css/tabbed.css +0 -68
  1714. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/dialogs.js +0 -302
  1715. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/inspectors.js +0 -365
  1716. data/lib/frameworks/sproutcore/apps/greenhouse/english.lproj/strings.js +0 -87
  1717. data/lib/frameworks/sproutcore/apps/greenhouse/main.js +0 -28
  1718. data/lib/frameworks/sproutcore/apps/greenhouse/models/design.js +0 -22
  1719. data/lib/frameworks/sproutcore/apps/greenhouse/models/dir.js +0 -92
  1720. data/lib/frameworks/sproutcore/apps/greenhouse/models/file.js +0 -51
  1721. data/lib/frameworks/sproutcore/apps/greenhouse/states/inspector.js +0 -144
  1722. data/lib/frameworks/sproutcore/apps/greenhouse/states/library.js +0 -133
  1723. data/lib/frameworks/sproutcore/apps/greenhouse/states/main.js +0 -224
  1724. data/lib/frameworks/sproutcore/apps/greenhouse/states/modals.js +0 -291
  1725. data/lib/frameworks/sproutcore/apps/greenhouse/states/ready.js +0 -197
  1726. data/lib/frameworks/sproutcore/apps/greenhouse/tests/views/list_item.js +0 -15
  1727. data/lib/frameworks/sproutcore/apps/greenhouse/views/plist_item.js +0 -39
  1728. data/lib/frameworks/sproutcore/apps/greenhouse/views/tear_off_picker.js +0 -56
  1729. data/lib/frameworks/sproutcore/design/TestRunner Design.graffle/image11.png +0 -0
  1730. data/lib/frameworks/sproutcore/design/TestRunner Design.graffle/image13.png +0 -0
  1731. data/lib/frameworks/sproutcore/design/TestRunner Design.graffle/image8.png +0 -0
  1732. data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/nested_records/parentless.js +0 -134
  1733. data/lib/frameworks/sproutcore/frameworks/datejs/core.js +0 -865
  1734. data/lib/frameworks/sproutcore/frameworks/datejs/english.lproj/en-US.js +0 -186
  1735. data/lib/frameworks/sproutcore/frameworks/datejs/extras.js +0 -332
  1736. data/lib/frameworks/sproutcore/frameworks/datejs/license.js +0 -25
  1737. data/lib/frameworks/sproutcore/frameworks/datejs/parser.js +0 -1116
  1738. data/lib/frameworks/sproutcore/frameworks/datejs/spanish.lproj/es-CO.js +0 -186
  1739. data/lib/frameworks/sproutcore/frameworks/datejs/sugarpak.js +0 -475
  1740. data/lib/frameworks/sproutcore/frameworks/datejs/time.js +0 -269
  1741. data/lib/frameworks/sproutcore/frameworks/datejs/validators/datejs.js +0 -34
  1742. data/lib/frameworks/sproutcore/frameworks/designer/coders/design.js +0 -20
  1743. data/lib/frameworks/sproutcore/frameworks/designer/coders/localization.js +0 -19
  1744. data/lib/frameworks/sproutcore/frameworks/designer/coders/object.js +0 -347
  1745. data/lib/frameworks/sproutcore/frameworks/designer/controllers/controllers.js +0 -16
  1746. data/lib/frameworks/sproutcore/frameworks/designer/controllers/design.js +0 -37
  1747. data/lib/frameworks/sproutcore/frameworks/designer/controllers/designs.js +0 -134
  1748. data/lib/frameworks/sproutcore/frameworks/designer/controllers/page_design.js +0 -170
  1749. data/lib/frameworks/sproutcore/frameworks/designer/controllers/page_files.js +0 -22
  1750. data/lib/frameworks/sproutcore/frameworks/designer/core.js +0 -26
  1751. data/lib/frameworks/sproutcore/frameworks/designer/css/css_rule.js +0 -22
  1752. data/lib/frameworks/sproutcore/frameworks/designer/css/css_style.js +0 -29
  1753. data/lib/frameworks/sproutcore/frameworks/designer/css/css_style_sheet.js +0 -201
  1754. data/lib/frameworks/sproutcore/frameworks/designer/designers/button.js +0 -21
  1755. data/lib/frameworks/sproutcore/frameworks/designer/designers/label.js +0 -16
  1756. data/lib/frameworks/sproutcore/frameworks/designer/designers/object_designer.js +0 -296
  1757. data/lib/frameworks/sproutcore/frameworks/designer/designers/tab.js +0 -18
  1758. data/lib/frameworks/sproutcore/frameworks/designer/designers/text_field.js +0 -15
  1759. data/lib/frameworks/sproutcore/frameworks/designer/designers/view_designer.js +0 -1259
  1760. data/lib/frameworks/sproutcore/frameworks/designer/english.lproj/design_page.js +0 -55
  1761. data/lib/frameworks/sproutcore/frameworks/designer/ext/object.js +0 -26
  1762. data/lib/frameworks/sproutcore/frameworks/designer/ext/page.js +0 -86
  1763. data/lib/frameworks/sproutcore/frameworks/designer/ext/view.js +0 -54
  1764. data/lib/frameworks/sproutcore/frameworks/designer/mixins/button.js +0 -11
  1765. data/lib/frameworks/sproutcore/frameworks/designer/mixins/snap_lines.js +0 -221
  1766. data/lib/frameworks/sproutcore/frameworks/designer/views/designer_drop_target.js +0 -138
  1767. data/lib/frameworks/sproutcore/frameworks/designer/views/drawing.js +0 -219
  1768. data/lib/frameworks/sproutcore/frameworks/designer/views/selection_handles.js +0 -78
  1769. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/array.js +0 -518
  1770. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/controller.js +0 -44
  1771. data/lib/frameworks/sproutcore/frameworks/foundation/controllers/object.js +0 -342
  1772. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/core.css +0 -474
  1773. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/strings.js +0 -15
  1774. data/lib/frameworks/sproutcore/frameworks/foundation/english.lproj/view.css +0 -57
  1775. data/lib/frameworks/sproutcore/frameworks/foundation/ext/object.js +0 -83
  1776. data/lib/frameworks/sproutcore/frameworks/foundation/ext/run_loop.js +0 -162
  1777. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/inline_text_field.js +0 -585
  1778. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/responder_context.js +0 -269
  1779. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/selection_support.js +0 -250
  1780. data/lib/frameworks/sproutcore/frameworks/foundation/mixins/string.js +0 -543
  1781. data/lib/frameworks/sproutcore/frameworks/foundation/panes/main.js +0 -51
  1782. data/lib/frameworks/sproutcore/frameworks/foundation/panes/pane.js +0 -848
  1783. data/lib/frameworks/sproutcore/frameworks/foundation/protocols/inline_editor_delegate.js +0 -84
  1784. data/lib/frameworks/sproutcore/frameworks/foundation/system/application.js +0 -37
  1785. data/lib/frameworks/sproutcore/frameworks/foundation/system/browser.js +0 -59
  1786. data/lib/frameworks/sproutcore/frameworks/foundation/system/builder.js +0 -210
  1787. data/lib/frameworks/sproutcore/frameworks/foundation/system/bundle.js +0 -337
  1788. data/lib/frameworks/sproutcore/frameworks/foundation/system/cursor.js +0 -131
  1789. data/lib/frameworks/sproutcore/frameworks/foundation/system/datetime.js +0 -1140
  1790. data/lib/frameworks/sproutcore/frameworks/foundation/system/device.js +0 -143
  1791. data/lib/frameworks/sproutcore/frameworks/foundation/system/event.js +0 -894
  1792. data/lib/frameworks/sproutcore/frameworks/foundation/system/image_cache.js +0 -433
  1793. data/lib/frameworks/sproutcore/frameworks/foundation/system/json.js +0 -515
  1794. data/lib/frameworks/sproutcore/frameworks/foundation/system/locale.js +0 -293
  1795. data/lib/frameworks/sproutcore/frameworks/foundation/system/page.js +0 -108
  1796. data/lib/frameworks/sproutcore/frameworks/foundation/system/platform.js +0 -298
  1797. data/lib/frameworks/sproutcore/frameworks/foundation/system/ready.js +0 -197
  1798. data/lib/frameworks/sproutcore/frameworks/foundation/system/render_context.js +0 -988
  1799. data/lib/frameworks/sproutcore/frameworks/foundation/system/request.js +0 -599
  1800. data/lib/frameworks/sproutcore/frameworks/foundation/system/responder.js +0 -124
  1801. data/lib/frameworks/sproutcore/frameworks/foundation/system/response.js +0 -538
  1802. data/lib/frameworks/sproutcore/frameworks/foundation/system/root_responder.js +0 -2068
  1803. data/lib/frameworks/sproutcore/frameworks/foundation/system/time.js +0 -473
  1804. data/lib/frameworks/sproutcore/frameworks/foundation/system/timer.js +0 -551
  1805. data/lib/frameworks/sproutcore/frameworks/foundation/system/utils.js +0 -710
  1806. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/array_case.js +0 -218
  1807. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/enum_case.js +0 -206
  1808. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/null_case.js +0 -64
  1809. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/selection_support.js +0 -318
  1810. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/array/single_case.js +0 -136
  1811. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/empty_case.js +0 -82
  1812. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/multiple_case.js +0 -111
  1813. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_case.js +0 -193
  1814. data/lib/frameworks/sproutcore/frameworks/foundation/tests/controllers/object/single_enumerable_case.js +0 -265
  1815. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/content.js +0 -195
  1816. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/displayProperties.js +0 -89
  1817. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/keyEquivalents.js +0 -57
  1818. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/button/ui.js +0 -68
  1819. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/control/content.js +0 -168
  1820. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/responder_context.js +0 -75
  1821. data/lib/frameworks/sproutcore/frameworks/foundation/tests/mixins/string.js +0 -83
  1822. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/builder.js +0 -42
  1823. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_core.js +0 -1334
  1824. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_dimensions.js +0 -387
  1825. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/jquery_selector.js +0 -405
  1826. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/core_query/within.js +0 -66
  1827. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/datetime.js +0 -382
  1828. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/json.js +0 -14
  1829. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/locale.js +0 -134
  1830. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/begin.js +0 -47
  1831. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/element.js +0 -44
  1832. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/end.js +0 -124
  1833. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/get.js +0 -51
  1834. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_attr.js +0 -50
  1835. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_basic.js +0 -28
  1836. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_className.js +0 -179
  1837. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/helpers_style.js +0 -101
  1838. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/init.js +0 -55
  1839. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/join.js +0 -28
  1840. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/push_text.js +0 -74
  1841. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/tag.js +0 -46
  1842. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/render_context/update.js +0 -218
  1843. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/request.js +0 -223
  1844. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeKeyPane.js +0 -124
  1845. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMainPane.js +0 -68
  1846. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/makeMenuPane.js +0 -48
  1847. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/root_responder.js +0 -101
  1848. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/root_responder/targetForAction.js +0 -251
  1849. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invalidate.js +0 -38
  1850. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/invokeLater.js +0 -201
  1851. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/isPaused.js +0 -71
  1852. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/performAction.js +0 -69
  1853. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/timer/schedule.js +0 -170
  1854. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/normalizeURL.js +0 -18
  1855. data/lib/frameworks/sproutcore/frameworks/foundation/tests/system/utils/rect.js +0 -99
  1856. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/main_pane.js +0 -31
  1857. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/append_remove.js +0 -124
  1858. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/firstResponder.js +0 -148
  1859. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/keyPane.js +0 -133
  1860. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/layout.js +0 -31
  1861. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/pane/sendEvent.js +0 -206
  1862. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/clippingFrame.js +0 -133
  1863. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertFrames.js +0 -246
  1864. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/convertLayouts.js +0 -145
  1865. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/createChildViews.js +0 -122
  1866. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/createLayer.js +0 -97
  1867. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/destroyLayer.js +0 -83
  1868. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/didAppendToDocument.js +0 -48
  1869. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/findLayerInParentLayer.js +0 -50
  1870. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/init.js +0 -50
  1871. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/insertBefore.js +0 -200
  1872. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisible.js +0 -51
  1873. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/isVisibleInWindow.js +0 -116
  1874. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layer.js +0 -150
  1875. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutChildViews.js +0 -162
  1876. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutDidChange.js +0 -127
  1877. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/layoutStyle.js +0 -531
  1878. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/nextValidKeyView.js +0 -110
  1879. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/parentViewDidChange.js +0 -67
  1880. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/prepareContext.js +0 -180
  1881. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/removeChild.js +0 -189
  1882. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/render.js +0 -83
  1883. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/replaceChild.js +0 -29
  1884. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayer.js +0 -146
  1885. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/updateLayerLocation.js +0 -194
  1886. data/lib/frameworks/sproutcore/frameworks/foundation/tests/views/view/viewDidResize.js +0 -202
  1887. data/lib/frameworks/sproutcore/frameworks/foundation/views/view.js +0 -3313
  1888. data/lib/frameworks/sproutcore/frameworks/runtime/mixins/delegate_support.js +0 -110
  1889. data/lib/frameworks/sproutcore/frameworks/runtime/protocols/observable_protocol.js +0 -40
  1890. data/lib/frameworks/sproutcore/frameworks/runtime/protocols/sparse_array_delegate.js +0 -131
  1891. data/lib/frameworks/sproutcore/frameworks/runtime/system/cookie.js +0 -160
  1892. data/lib/frameworks/sproutcore/frameworks/runtime/system/selection_set.js +0 -697
  1893. data/lib/frameworks/sproutcore/frameworks/runtime/system/sparse_array.js +0 -379
  1894. data/lib/frameworks/sproutcore/frameworks/runtime/tests/mixins/enumerable.js +0 -622
  1895. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/cookie.js +0 -163
  1896. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/add.js +0 -92
  1897. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/copy.js +0 -17
  1898. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/indexSetForSource.js +0 -98
  1899. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/isEqual.js +0 -60
  1900. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/selection_set/remove.js +0 -111
  1901. data/lib/frameworks/sproutcore/frameworks/runtime/tests/system/sparse_array.js +0 -194
  1902. data/lib/frameworks/sproutcore/frameworks/statechart/mixins/statechart.js +0 -336
  1903. data/lib/frameworks/sproutcore/frameworks/statechart/tests/basic.js +0 -90
  1904. data/lib/frameworks/sproutcore/frameworks/statechart/tests/history.js +0 -71
  1905. data/lib/frameworks/sproutcore/frameworks/statechart/tests/nested.js +0 -59
  1906. data/lib/frameworks/sproutcore/frameworks/statechart/tests/transient.js +0 -148
  1907. data/lib/frameworks/sproutcore/frameworks/testing/jquery.js +0 -3559
  1908. data/lib/frameworks/sproutcore/frameworks/testing/qunit.js +0 -827
  1909. data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/pane.css +0 -18
  1910. data/lib/frameworks/sproutcore/themes/standard_theme/english.lproj/segmented.css +0 -275
  1911. data/lib/sproutcore/builders/bundle.rb +0 -63
  1912. data/lib/sproutcore/buildfile/cloneable.rb +0 -34
  1913. data/lib/sproutcore/vendor/yui-compressor/SCyuicompressor-2.4.2.jar +0 -0
  1914. data/spec/buildtasks/manifest/prepare_build_tasks/bundle_spec.rb +0 -254
  1915. data/spec/fixtures/builder_tests/apps/bundle_test/bundle.js +0 -1
  1916. data/spec/lib/builders/bundle_spec.rb +0 -295
@@ -0,0 +1,386 @@
1
+ // ==========================================================================
2
+ // Project: SproutCore - JavaScript Application Framework
3
+ // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
+ // Portions ©2008-2011 Apple Inc. All rights reserved.
5
+ // License: Licensed under MIT license (see license.js)
6
+ // ==========================================================================
7
+
8
+ /**
9
+ @class
10
+ Base class for all render delegates.
11
+
12
+ You should use SC.RenderDelegate or a subclass of it as the base for all
13
+ of your render delegates. SC.RenderDelegate offers many helper methods
14
+ and can be simpler to subclass between themes than `SC.Object`.
15
+
16
+ Creating & Subclassing
17
+ ============================
18
+ You create render delegates just like you create SC.Objects:
19
+
20
+ MyTheme.someRenderDelegate = SC.RenderDelegate.create({ ... });
21
+
22
+ You can subclass a render delegate and use that:
23
+
24
+ MyTheme.RenderDelegate = SC.RenderDelegate.extend({ ... });
25
+ MyTheme.someRenderDelegate = MyTheme.RenderDelegate.create({});
26
+
27
+ And you can even subclass instances or SC.RenderDelegate:
28
+
29
+ MyTheme.someRenderDelegate = SC.RenderDelegate.create({ ... });
30
+ MyTheme.otherRenderDelegate = MyTheme.someRenderDelegate.create({ ... });
31
+
32
+ // this allows you to subclass another theme's render delegate:
33
+ MyTheme.buttonRenderDelegate = SC.BaseTheme.buttonRenderDelegate.create({ ... });
34
+
35
+ For render delegates, subclassing and instantiating are the same.
36
+
37
+ NOTE: Even though `.extend` and `.create` technically do the same thing,
38
+ convention dictates that you use `.extend` for RenderDelegates that
39
+ will be used primarily as base classes, and `create` for RenderDelegates
40
+ that you expect to be instances.
41
+
42
+ Rendering and Updating
43
+ =========================
44
+ Render delegates are most commonly used for two things: rendering and updating
45
+ DOM representations of controls.
46
+
47
+ Render delegates use their `render` and `update` methods to do this:
48
+
49
+ render: function(dataSource, context) {
50
+ // rendering tasks here
51
+ // example:
52
+ context.begin('div').addClass('title')
53
+ .text(dataSource.get('title')
54
+ .end();
55
+ },
56
+
57
+ update: function(dataSource, jquery) {
58
+ // updating tasks here
59
+ // example:
60
+ jquery.find('.title').text(dataSource.get('title'));
61
+ }
62
+
63
+ Variables
64
+ ==========================
65
+ The data source provides your render delegate with all of the information
66
+ needed to render. However, the render delegate's consumer--usually a view--
67
+ may need to get information back.
68
+
69
+ For example, `SC.AutoResize` resizes controls to fit their text. You can use
70
+ it to size a button to fit its title. But it can't just make the button
71
+ have the same width as its title: it needs to be a little larger to make room
72
+ for the padding to the left and right sides of the title.
73
+
74
+ This padding will vary from theme to theme.
75
+
76
+ You can specify properties on the render delegate like any other property:
77
+
78
+ MyRenderDelegate = SC.RenderDelegate.create({
79
+ autoSizePadding: 10
80
+ ...
81
+ });
82
+
83
+ But there are multiple sizes of buttons; shouldn't the padding change as
84
+ well? You can add hashes for the various control sizes and override properties:
85
+
86
+ SC.RenderDelegate.create({
87
+ autoSizePadding: 10,
88
+
89
+ 'sc-jumbo-size': {
90
+ autoResizePadding: 20
91
+ }
92
+
93
+ For details, see the discussion on size helpers below.
94
+
95
+ You can also calculate values for the data source. In this example, we calculate
96
+ the autoSizePadding to equal half the data source's height:
97
+
98
+ SC.RenderDelegate.create({
99
+ autoSizePaddingFor: function(dataSource) {
100
+ if (dataSource.get('frame')) {
101
+ return dataSource.get('frame').height / 2;
102
+ }
103
+ }
104
+
105
+
106
+ When SC.ButtonView tries to get `autoSizePadding`, the render delegate will look for
107
+ `autoSizePaddingFor`. It will be called if it exists. Otherwise, the property will
108
+ be looked up like normal.
109
+
110
+ Note: To support multiple sizes, you must also render the class name; see size
111
+ helper discussion below.
112
+
113
+ Helpers
114
+ =====================
115
+ SC.RenderDelegate have "helper methods" to assist the rendering process.
116
+ There are a few built-in helpers, and you can add your own.
117
+
118
+ Slices
119
+ ----------------------
120
+ Chance provides the `includeSlices` method to easily slice images for
121
+ use in the SproutCore theme system.
122
+
123
+ includeSlices(dataSource, context, slices);
124
+
125
+ You can call this to add DOM that matches Chance's `@include slices()`
126
+ directive. For example:
127
+
128
+ MyTheme.buttonRenderDelegate = SC.RenderDelegate.create({
129
+ name: 'button',
130
+ render: function(dataSource, context) {
131
+ this.includeSlices(dataSource, context, SC.THREE_SLICE);
132
+ }
133
+ });
134
+
135
+ DOM elements will be added as necessary for the slices. From your CSS, you
136
+ can match it like this:
137
+
138
+ $theme.button {
139
+ @include slices('button.png', $left: 3, $right: 3);
140
+ }
141
+
142
+ See the Chance documentation at http://guides.sproutcore.com/chance.html
143
+ for more about Chance's `@include slices` directive.
144
+
145
+ Sizing Helpers
146
+ -------------------------
147
+ As discussed previously, you can create hashes of properties for each size.
148
+ However, to support sizing, you must render the size's class name.
149
+
150
+ Use the `addSizeClassName` and `updateSizeClassName` methods:
151
+
152
+ SC.RenderDelegate.create({
153
+ render: function(dataSource, context) {
154
+ // if you want to include a class name for the control size
155
+ // so you can style it via CSS, include this line:
156
+ this.addSizeClassName(dataSource, context);
157
+
158
+ ...
159
+ },
160
+
161
+ update: function(dataSource, jquery) {
162
+ // and don't forget to use its companion in update as well:
163
+ this.updateSizeClassName(dataSource, jquery);
164
+
165
+ ...
166
+ }
167
+ });
168
+
169
+ Controls that allow multiple sizes should also be able to automatically choose
170
+ the correct size based on the `layout` property supplied by the user. To support
171
+ this, you can add properties to your size hashes:
172
+
173
+ 'sc-regular-size': {
174
+ // to match _only_ 24px-high buttons
175
+ height: 24,
176
+
177
+ // or, alternatively, to match ones from 22-26:
178
+ minHeight: 20, maxHeight: 26,
179
+
180
+ // you can do the same for width if you wanted
181
+ width: 100
182
+ }
183
+
184
+ The correct size will be calculated automatically when `addSlizeClassName` is
185
+ called. If the view explicitly supplies a control size, that size will be used;
186
+ otherwise, it will be calculated automatically based on the properties in your
187
+ size hash.
188
+
189
+ Adding Custom Helpers
190
+ ---------------------
191
+ You can mix your own helpers into this base class by calling
192
+ SC.RenderDelegate.mixin; they will be available to all render delegates:
193
+
194
+ SC.RenderDelegate.mixin({
195
+ myHelperMethod: function(dataSource) { ... }
196
+ });
197
+
198
+
199
+ You can then use the helpers from your render delegates:
200
+
201
+ MyTheme.someRenderDelegate = SC.RenderDelegate.create({
202
+ name: 'some-thingy',
203
+ render: function(dataSource, context) {
204
+ this.myHelperMethod(dataSource);
205
+ }
206
+ });
207
+
208
+
209
+ By convention, all render delegate methods should take a `dataSource` as
210
+ their first argument. If they do any rendering or updating, their second
211
+ argument should be the `SC.RenderContext` or `jQuery` object to use.
212
+
213
+ In addition, helpers like these are only meant for methods that should
214
+ be made available to _all_ render delegates. If your method is specific
215
+ to just one, add it directly; if it is specific to just a few in your
216
+ own theme, consider just using mixins or subclassing SC.RenderDelegate:
217
+
218
+ // If you use it in a couple of render delegates, perhaps a mixin
219
+ // would be best:
220
+ MyTheme.MyRenderHelper = {
221
+ helper: function(dataSource) {
222
+ ...
223
+ }
224
+ };
225
+
226
+ MyTheme.myRenderDelegate = SC.RenderDelegate.create(MyTheme.MyRenderHelper, {
227
+ render: function(dataSource, context) { ... }
228
+ });
229
+
230
+
231
+ // If you use it in all render delegates in your theme, perhaps it
232
+ // would be better to create an entire subclass of
233
+ // SC.RenderDelegate:
234
+ MyTheme.RenderDelegate = SC.RenderDelegate.extend({
235
+ helper: function(dataSource) {
236
+ ...
237
+ }
238
+ });
239
+
240
+ MyTheme.myRenderDelegate = MyTheme.RenderDelegate.create({
241
+ render: function(dataSource, context) { ... }
242
+ });
243
+
244
+ Data Sources
245
+ ====================
246
+ Render delegates get the content to be rendered from their data sources.
247
+
248
+ A data source can be any object, so long as the object implements
249
+ the following methods:
250
+
251
+ - `get(propertyName)`: Returns a value for a given property.
252
+ - `didChangeFor(context, propertyName)`: Returns YES if any properties
253
+ listed have changed since the last time `didChangeFor` was called with
254
+ the same context.
255
+
256
+ And the following properties (to be accessed through `.get`):
257
+
258
+ - `theme`: The theme being used to render.
259
+ - `renderState`: An empty hash for the render delegate to save state in.
260
+ While render delegates are _usually_ completely stateless, there are
261
+ cases where they may need to save some sort of state.
262
+ */
263
+ SC.RenderDelegate = {
264
+ // docs will look more natural if these are all considered instance
265
+ // methods/properties.
266
+ /*@scope SC.RenderDelegate.prototype*/
267
+
268
+ /**
269
+ Creates a new render delegate based on this one. When you want to
270
+ create a render delegate, you call this:
271
+
272
+ MyTheme.myRenderDelegate = SC.RenderDelegate.create({
273
+ name: 'my-render-delegate',
274
+ render: function(dataSource, context) {
275
+ // your code here...
276
+ }
277
+ })
278
+ */
279
+ create: function() {
280
+ var ret = SC.beget(this);
281
+
282
+ var idx, len = arguments.length;
283
+ for (idx = 0; idx < len; idx++) {
284
+ ret.mixin(arguments[idx]);
285
+ }
286
+
287
+ return ret;
288
+ },
289
+
290
+ /**
291
+ Adds extra capabilities to this render delegate.
292
+
293
+ You can use this to add helpers to all render delegates:
294
+
295
+ SC.RenderDelegate.reopen({
296
+ myHelperMethod: function(dataSource) { ... }
297
+ });
298
+
299
+ */
300
+ reopen: function(mixin) {
301
+ var i, v;
302
+ for (i in mixin) {
303
+ v = mixin[i];
304
+ if (!mixin.hasOwnProperty(i)) {
305
+ continue;
306
+ }
307
+
308
+ if (typeof v === 'function' && v !== this[i]) {
309
+ v.base = this[i] || SC.K;
310
+ }
311
+
312
+ if (v && v.isEnhancement && v !== this[i]) {
313
+ v = SC._enhance(this[i] || K, v);
314
+ }
315
+
316
+ this[i] = v;
317
+ }
318
+ },
319
+
320
+ /**
321
+ Returns the specified property from this render delegate.
322
+ Implemented to match SC.Object's API.
323
+ */
324
+ get: function(propertyName) { return this[propertyName]; },
325
+
326
+ /**
327
+ Gets or generates the named property for the specified
328
+ dataSource. If a method `propertyName + 'For'` is found,
329
+ it will be used to compute the value, `dataSource`
330
+ being passed as an argument. Otherwise, it will simply
331
+ be looked up on the render delegate.
332
+
333
+ NOTE: this implementation is a reference implementation. It
334
+ is overriden in the sizing code (helpers/sizing.js) to be
335
+ size-sensitive.
336
+ */
337
+ getPropertyFor: function(dataSource, propertyName) {
338
+ if (this[propertyName + 'For']) {
339
+ return this[propertyName + 'For'](dataSource, propertyName);
340
+ }
341
+
342
+ return this[propertyName];
343
+ },
344
+
345
+ /**
346
+ All render delegates should have a name. Any time a render delegate is
347
+ used, this name should be added as a class name (`SC.View`s do this
348
+ automatically).
349
+ */
350
+ name: undefined,
351
+
352
+ /**
353
+ Writes the DOM representation of this render delegate to the
354
+ supplied `SC.RenderContext`, using the supplied `dataSource`
355
+ for any data needed.
356
+
357
+ @method
358
+ @param {DataSource} dataSource An object from which to get
359
+ data. See documentation on data sources above.
360
+ @param {SC.RenderContext} context A context to render DOM into.
361
+ */
362
+ render: function(dataSource, context) {
363
+
364
+ },
365
+
366
+ /**
367
+ Updates the DOM representation of this render delegate using
368
+ the supplied `jQuery` instance and `dataSource`.
369
+
370
+ @method
371
+ @param {DataSource} dataSource An object from which to get
372
+ data. See documentation on data sources above.
373
+ @param {jQuery} jquery A jQuery instance containing the DOM
374
+ element to update. This will be the DOM generated by `render()`.
375
+ */
376
+ update: function(dataSource, jQuery) {
377
+
378
+ }
379
+ };
380
+
381
+ // create and extend are technically identical.
382
+ SC.RenderDelegate.extend = SC.RenderDelegate.create;
383
+
384
+ // and likewise, as this is both a class and an instance, mixin makes
385
+ // sense instead of reopen...
386
+ SC.RenderDelegate.mixin = SC.RenderDelegate.reopen;
@@ -1,106 +1,156 @@
1
1
  // ==========================================================================
2
2
  // Project: SproutCore - JavaScript Application Framework
3
3
  // Copyright: ©2006-2011 Strobe Inc. and contributors.
4
- // Portions ©2008-2010 Apple Inc. All rights reserved.
4
+ // Portions ©2008-2011 Apple Inc. All rights reserved.
5
5
  // License: Licensed under MIT license (see license.js)
6
6
  // ==========================================================================
7
- /*globals $A*/
7
+ /*globals $A */
8
8
 
9
9
  sc_require('core') ;
10
-
10
+
11
11
  /** @namespace
12
12
 
13
13
  This bit of meta-programming magic can install a benchmark handler on any
14
14
  object method. When a benchmark is installed, the time required to execute
15
- the method will be printed to the console log everytime the method is
15
+ the method will be printed to the console log everytime the method is
16
16
  called.
17
17
 
18
18
  This class can be used to implement benchmarking. To use this object, just
19
- call start() with a key name and end() with a keyname. The benchmark will
20
- be logged. If you set verbose = true, then benchmark will log everytime it
19
+ call start() with a key name and end() with a keyname. The benchmark will
20
+ be logged. If you set verbose = true, then benchmark will log everytime it
21
21
  saves a bench. Otherwise, it just keeps stats. You can get the stats by
22
22
  calling report().
23
23
 
24
24
  Benchmark does not require anything other than the date.js class. It also
25
25
  does not rely on SC.Object so that you can benchmark code in that area as
26
26
  well.
27
-
27
+
28
28
  The benchmark has three types of reports.
29
-
30
- report(): Returns an abbreviated list with just the durations of the bench.
31
- Also, it averages multiple runs. Everything is reported on the top
32
- level only.
33
-
34
- timelineReport(): Returns an list of benchmarks and sub-benchmarks. If the
35
- the globalStartTime is set, then it will show relative
36
- time from that time.
37
-
38
- timelineChart(): Displays a chart of all the benchmarks (not sub-benchmarks)
39
- relative to the first time capture or to the globalStartTime.
40
- Hide this by calling hideChart()
29
+
30
+ - report(): Returns an abbreviated list with just the durations of the bench.
31
+ Also, it averages multiple runs. Everything is reported on the top
32
+ level only.
33
+ - timelineReport(): Returns an list of benchmarks and sub-benchmarks. If the
34
+ the globalStartTime is set, then it will show relative
35
+ time from that time.
36
+ - timelineChart(): Displays a chart of all the benchmarks (not sub-benchmarks)
37
+ relative to the first time capture or to the globalStartTime.
38
+ Hide this by calling hideChart()
39
+
40
+ @since SproutCore 1.0
41
41
  */
42
42
  SC.Benchmark = {
43
43
 
44
44
  /**
45
- If true, then benchmarks will be logged to the console as they are
45
+ If true, then benchmarks will be logged to the console as they are
46
46
  recorded.
47
-
48
- @property {Boolean}
47
+
48
+ @type Boolean
49
+ @default NO
49
50
  */
50
51
  verbose: NO,
51
-
52
+
52
53
  /**
53
54
  If false, benchmarking will be disabled. You might want to disable this
54
55
  during production to maximize performance.
55
-
56
- @property {Boolean}
56
+
57
+ @type Boolean
58
+ @default YES
57
59
  */
58
60
  enabled: YES,
59
-
60
- /**
61
- This hash stores collected stats. It contains key value pairs. The value
62
- will be a hash with the following properties:
63
-
64
- * * *runs*: the number of times this stat has run
65
- * * *amt*: the total time consumed by this (divide by runs to get avg)
66
- * * *name*: an optional longer name you assigned to the stat key. Set this using name().
67
- * * *_starts*: this array is used internally.
68
- * * *_times*: this array is used internally.
69
-
70
- @property {Object}
61
+
62
+ /**
63
+ Events are a way of assigning specific, individual times to names, rather than
64
+ durations of time. A benchmark event can only occur once—if it occurs again, it
65
+ will overwrite the old event.
66
+
67
+ The purpose of events is different than the purpose for normal benchmarks. Normal
68
+ benchmarks may be used to benchmark a specific process, and may do so repeatedly;
69
+ events, conversely, are usually used to benchmark things like startup time, and
70
+ occur only once. For instance, an 'event' is registered when the document is ready.
71
+
72
+ Events are kept as a hash of names to timestamps. To add an event, just set it:
73
+
74
+ SC.Benchmark.events['myEventName'] = new Date().getTime();
75
+
76
+ // Or, more conveniently:
77
+ SC.Benchmark.addEvent('myEventName', [optional time]);
78
+
79
+ On a timeline chart, events are usually represented as lines rather than bars. However,
80
+ if you add eventNameStart and eventNameEnd, they will be automatically added as standard
81
+ benchmarks.
82
+
83
+ This is useful when adding preload events to SC.benchmarkPreloadEvents; as SC.Benchmark
84
+ does not yet exist, you cannot call .start() and .end(), but adding the items to
85
+ SC.benchmarkPreloadEvents will ensure they are included.
86
+
87
+ @type Hash
88
+ @default {}
89
+ */
90
+ events: {},
91
+
92
+ /**
93
+ This hash stores collected stats. It contains key value pairs. The value
94
+ will be a hash with the following properties:
95
+
96
+ - *runs*: the number of times this stat has run
97
+ - *amt*: the total time consumed by this (divide by runs to get avg)
98
+ - *name*: an optional longer name you assigned to the stat key. Set this using name().
99
+
100
+ @type Hash
101
+ @default {}
71
102
  */
72
103
  stats: {},
73
104
 
74
105
  /**
75
106
  If set, one can tell when the benchmark is started relatively to the global start time.
76
-
77
- @property {Number}
107
+
108
+ This property is set to a default automatically (from HTML5 NavigationTiming if possible,
109
+ otherwise the SC bootstrap).
110
+
111
+ @type Number
112
+ @default null
78
113
  */
79
114
  globalStartTime: null,
80
115
 
81
- /**
116
+ /**
117
+ Adds an 'event' to the events hash.
118
+
119
+ Unlike normal benchmarks, recorded with start/end and that represent a block of time,
120
+ events represent a single instance in time. Further, unlike normal benchmarks, which
121
+ may be run more than once for the same benchmark name, only one instance in time
122
+ will be recorded for any event name.
123
+
124
+ @param {String} name
125
+ A name that identifies the event. If addEvent is called again with the same name,
126
+ the previous call's timestamp will be overwritten.
127
+ @param {Timestamp} time
128
+ Optional. The timestamp to record for the event.
129
+ */
130
+ addEvent: function(name, time) {
131
+ if (!time) time = new Date().getTime();
132
+ this.events[name] = time;
133
+ },
134
+
135
+ /**
82
136
  Call this method at the start of whatever you want to collect.
83
- If a parentKey is passed, then you will attach the stat to the parent,
84
- otherwise it will be on the top level. If topLevelOnly is passed, then
85
- recursive calls to the start will be ignored and only the top level call
137
+ If a parentKey is passed, then you will attach the stat to the parent,
138
+ otherwise it will be on the top level. If topLevelOnly is passed, then
139
+ recursive calls to the start will be ignored and only the top level call
86
140
  will be benchmarked.
87
-
88
- @param {String} key
89
- A unique key that identifies this benchmark. All calls to start/end
141
+
142
+ @param {String} key
143
+ A unique key that identifies this benchmark. All calls to start/end
90
144
  with the same key will be groups together.
91
-
92
145
  @param {String} parentKey
93
- A unique key that identifies the parent benchmark. All calls to
146
+ A unique key that identifies the parent benchmark. All calls to
94
147
  start/end with the same key will be groups together.
95
-
96
148
  @param {Boolean} topLevelOnly
97
- If true then recursive calls to this method with the same key will be
98
- ignored.
99
-
149
+ If true then recursive calls to this method with the same key will be
150
+ ignored.
100
151
  @param {Number} time
101
- Only pass if you want to explicitly set the start time. Otherwise the
152
+ Only pass if you want to explicitly set the start time. Otherwise the
102
153
  start time is now.
103
-
104
154
  @returns {String} the passed key
105
155
  */
106
156
  start: function(key, parentKey, time, topLevelOnly) {
@@ -110,7 +160,7 @@ SC.Benchmark = {
110
160
 
111
161
  if (parentKey) stat = this._subStatFor(key, parentKey) ;
112
162
  else stat = this._statFor(key) ;
113
-
163
+
114
164
  if (topLevelOnly && stat._starts.length > 0) stat._starts.push('ignore');
115
165
  else stat._starts.push(start) ;
116
166
 
@@ -121,15 +171,13 @@ SC.Benchmark = {
121
171
  /**
122
172
  Call this method at the end of whatever you want to collect. This will
123
173
  save the collected benchmark.
124
-
174
+
125
175
  @param {String} key
126
176
  The benchmark key you used when you called start()
127
-
128
177
  @param {String} parentKey
129
178
  The benchmark parent key you used when you called start()
130
-
131
179
  @param {Number} time
132
- Only pass if you want to explicitly set the end time. Otherwise start
180
+ Only pass if you want to explicitly set the end time. Otherwise start
133
181
  time is now.
134
182
  */
135
183
  end: function(key, parentKey, time) {
@@ -145,13 +193,13 @@ SC.Benchmark = {
145
193
  }
146
194
  var start = stat._starts.pop() ;
147
195
  if (!start) {
148
- console.log('SC.Benchmark "%@" ended without a matching start. No information was saved.'.fmt(key));
196
+ SC.Logger.log('SC.Benchmark "%@" ended without a matching start. No information was saved.'.fmt(key));
149
197
  return ;
150
198
  }
151
199
 
152
200
  // top level only.
153
- if (start == 'ignore') return ;
154
-
201
+ if (start == 'ignore') return ;
202
+
155
203
  var end = (time || Date.now()) ;
156
204
  var dur = end - start;
157
205
 
@@ -160,11 +208,11 @@ SC.Benchmark = {
160
208
 
161
209
  stat.amt += dur ;
162
210
  stat.runs++ ;
163
-
211
+
164
212
  if (this.verbose) this.log(key) ;
165
213
  },
166
-
167
- /*
214
+
215
+ /*
168
216
  Set the inital global start time.
169
217
  */
170
218
  setGlobalStartTime: function(time)
@@ -173,34 +221,33 @@ SC.Benchmark = {
173
221
  },
174
222
 
175
223
  /**
176
- This is a simple way to benchmark a function. The function will be
224
+ This is a simple way to benchmark a function. The function will be
177
225
  run with the name you provide the number of times you indicate. Only the
178
226
  function is a required param.
179
- */
227
+ */
180
228
  bench: function(func, key, reps) {
181
229
  if (!key) key = "bench%@".fmt(this._benchCount++) ;
182
230
  if (!reps) reps = 1 ;
183
231
  var ret ;
184
-
232
+
185
233
  while(--reps >= 0) {
186
234
  var timeKey = SC.Benchmark.start(key) ;
187
235
  ret = func();
188
- SC.Benchmark.end(timeKey) ;
236
+ SC.Benchmark.end(timeKey) ;
189
237
  }
190
-
238
+
191
239
  return ret ;
192
240
  },
193
-
194
- /**
241
+
242
+ /**
195
243
  This bit of metaprogramming magic install a wrapper around a method and
196
244
  benchmark it whenever it is run.
197
- */
245
+ */
198
246
  install: function(object,method, topLevelOnly) {
199
-
200
247
  // vae the original method.
201
248
  object['b__' + method] = object[method] ;
202
249
  var __func = object['b__' + method];
203
-
250
+
204
251
  // replace with this helper.
205
252
  object[method] = function() {
206
253
  var key = '%@(%@)'.fmt(method, $A(arguments).join(', ')) ;
@@ -210,18 +257,17 @@ SC.Benchmark = {
210
257
  return ret ;
211
258
  } ;
212
259
  },
213
-
260
+
214
261
  /**
215
262
  Restore the original method, deactivating the benchmark.
216
-
217
- @param {object} object the object to change
218
- @param {string} method the method name as a string.
219
-
220
- */
263
+
264
+ @param {Object} object the object to change
265
+ @param {String} method the method name as a string.
266
+ */
221
267
  restore: function(object,method) {
222
268
  object[method] = object['b__' + method] ;
223
269
  },
224
-
270
+
225
271
  /**
226
272
  This method will return a string containing a report of the stats
227
273
  collected so far. If you pass a key, only the stats for that key will
@@ -240,10 +286,9 @@ SC.Benchmark = {
240
286
  /**
241
287
  Generate a human readable benchmark report. Pass in appName if you desire.
242
288
 
243
- @param {string} application name.
289
+ @param {String} application name.
244
290
  */
245
- timelineReport: function(appName)
246
- {
291
+ timelineReport: function(appName) {
247
292
  appName = (appName) ? 'SproutCore Application' : appName;
248
293
  var ret = [appName, 'User-Agent: %@'.fmt(navigator.userAgent), 'Report Generated: %@ (%@)'.fmt(new Date().toString(), Date.now()), ''] ;
249
294
 
@@ -263,135 +308,294 @@ SC.Benchmark = {
263
308
  },
264
309
 
265
310
  /**
266
- Generate a human readable benchmark chart. Pass in appName if you desire.
311
+ Returns a hash containing the HTML representing the timeline chart, and
312
+ various metrics and information about the chart:
267
313
 
314
+ - html
315
+ - totalWidth
316
+ - totalHeight
317
+ - totalCapturedTime
318
+ - pointsCaptured
319
+
320
+ @returns {Hash}
268
321
  */
269
- timelineChart: function(appName) {
270
- var i=0;
271
- // Hide the chart if there is an existing one.
272
- this.hideChart();
273
-
322
+ getTimelineChartContent: function() {
274
323
  // Compile the data.
275
324
  var chart = this._compileChartData(false);
276
325
  var chartLen = chart.length;
277
-
326
+
278
327
  // Return if there is nothing to draw.
279
328
  if(chartLen === 0) return;
280
-
329
+
281
330
  // Get the global start of the graph.
282
331
  var gStart = this.globalStartTime ? this.globalStartTime : chart[0][1];
283
332
  var maxDur = chart[chartLen-1][2]-gStart;
284
- var maxHeight = 50+chartLen*30;
333
+ var maxHeight = 25+chartLen*30;
285
334
  var incr = Math.ceil(maxDur/200)+1;
286
335
  var maxWidth = incr*50;
287
-
288
- // Create the basic graph element.
289
- var graph = document.createElement('div');
290
- graph.className = 'sc-benchmark-graph';
291
- document.body.appendChild(graph);
292
-
293
- // Set the title.
294
- var title = document.createElement('div');
295
- title.innerHTML = ((appName) ? appName : 'SproutCore Application') + (' - Total Captured Time: ' + maxDur +' ms - Points Captured: ' + chartLen) + ' [<a href="javascript:SC.Benchmark.hideChart();">Hide Chart</a>]';
296
- title.className = 'sc-benchmark-title';
297
- graph.appendChild(title);
298
-
299
-
300
- var topBox = document.createElement('div');
301
- topBox.className = 'sc-benchmark-top';
302
- topBox.style.width = maxWidth + 'px';
303
- graph.appendChild(topBox);
304
-
305
- // Draw the tick marks.
306
- for(i=0;i<incr; i++)
307
- {
308
- var tick = document.createElement('div');
309
- tick.className = 'sc-benchmark-tick';
310
- tick.style.left = (i*50)+'px';
311
- tick.style.height = maxHeight+'px';
312
- var tickLabel = document.createElement('div');
313
- tickLabel.className = 'sc-benchmark-tick-label';
314
- tickLabel.style.left = (i*50)+'px';
315
- tickLabel.innerHTML = i*200+" ms";
316
- graph.appendChild(tick);
317
- graph.appendChild(tickLabel);
336
+ var leftPadding = 10, rightPadding = 300;
337
+
338
+
339
+ var str = "<div class = 'sc-benchmark-timeline-chart' style = 'position:relative;'>";
340
+ str += "<div class = 'sc-benchmark-top'></div>";
341
+
342
+ // add tick marks
343
+ for (var i = 0; i < incr; i++) {
344
+ str += "<div class = 'sc-benchmark-tick' style = '";
345
+ str += "left: " + (leftPadding + i * 50) + "px; ";
346
+ str += "height: " + maxHeight + "px;";
347
+ str += "'></div>";
348
+
349
+ str += "<div class = 'sc-benchmark-tick-label' style = '";
350
+ str += "left: " + (leftPadding + i * 50) + "px; ";
351
+ str += "'>" + (i * 200) + "ms</div>";
318
352
  }
319
-
320
- // For each item in the chart, print it out on the screen.
321
- for(i=0;i<chartLen; i++)
322
- {
323
- var row = document.createElement('div');
324
- row.style.top = (75+(i*30))+'px';
325
- row.style.width = maxWidth+'px';
326
- row.className = (i%2===0) ? 'sc-benchmark-row even' : 'sc-benchmark-row';
327
- graph.appendChild(row);
353
+
354
+ // print each chart item
355
+ for (i = 0; i < chartLen; i++) {
356
+ str += "<div class = 'sc-benchmark-row ";
357
+ str += (i % 2 === 0) ? 'even' : 'odd';
358
+ str += "' style = '";
359
+ str += "top: " + (50 + (i * 30)) + "px; ";
360
+ str += "'></div>";
328
361
 
329
362
  var div = document.createElement('div');
330
363
  var start = chart[i][1];
331
364
  var end = chart[i][2];
332
365
  var duration = chart[i][3];
333
-
334
- div.innerHTML = '&nbsp;' + (chart[i][0] + " <span class='sc-benchmark-emphasis'>" + duration + 'ms</span>');
335
-
336
- div.className = 'sc-benchmark-bar';
337
- div.style.cssText = 'left:'+ (((start-gStart)/4))+'px; width: '+((duration/4))+
338
- 'px; top: '+(53+(i*30))+'px;';
339
- div.title = "start: " + (start-gStart) + " ms, end: " + (end-gStart) + ' ms, duration: ' + duration + ' ms';
340
- graph.appendChild(div);
366
+
367
+
368
+ str += "<div class = 'sc-benchmark-bar' style = '";
369
+ str += 'left:'+ (leftPadding + ((start-gStart)/4))+'px; width: '+((duration/4)) + 'px;';
370
+ str += 'top: '+(28+(i*30))+'px;';
371
+
372
+ str += "' title = 'start: " + (start-gStart) + " ms, end: " + (end-gStart) + ' ms, duration: ' + duration + " ms'";
373
+ str += ">";
374
+ str += '&nbsp;' + chart[i][0] + " <span class='sc-benchmark-emphasis'>";
375
+ str += duration + "ms (start: " + (start - gStart) + "ms)";
376
+ str += "</span>";
377
+
378
+ str += "</div>";
379
+ }
380
+
381
+ // add the events
382
+ var events = this.events, idx = 0;
383
+ for (i in events) {
384
+ var t = events[i] - gStart;
385
+ str += "<div class = 'sc-benchmark-event idx" + (idx % 10) + "' style = '";
386
+ str += "left: " + (leftPadding + t / 4) + "px; height: " + maxHeight + "px; top: 20px;";
387
+ str += "' title = '" + i + ": " + t + "'></div>";
388
+ idx++;
341
389
  }
342
390
 
343
- // Save the graph.
344
- this._graph = graph;
391
+ str += "</div>";
392
+
393
+ return {
394
+ html: str,
395
+ totalCapturedTime: maxDur,
396
+ pointsCaptured: chartLen,
397
+ width: maxWidth + leftPadding + rightPadding,
398
+ height: maxHeight
399
+ };
400
+ },
401
+
402
+ /**
403
+ Returns a view with the timeline chart. The view has a 'reload' method to
404
+ refresh its data.
405
+
406
+ @returns {SC.View}
407
+ */
408
+ getTimelineChartView: function() {
409
+ var view = SC.ScrollView.create({
410
+ contentView: SC.StaticContentView.extend({
411
+
412
+ }),
413
+
414
+ reload: function() {
415
+ var content = SC.Benchmark.getTimelineChartContent();
416
+ this.contentView.set('content', content.html);
417
+ this.contentView.adjust({
418
+ width: content.width,
419
+ height: content.height
420
+ });
421
+
422
+ this.chartContent = content;
423
+
424
+ SC.RunLoop.invokeLater(SC.Benchmark, function() {
425
+ this.contentView.notifyPropertyChange('frame');
426
+ });
427
+ }
428
+ });
429
+
430
+ view.reload();
431
+
432
+ return view;
433
+ },
434
+
435
+ /**
436
+ Generate a human readable benchmark chart. Pass in appName if you desire.
437
+ */
438
+ timelineChart: function(appName) {
439
+ SC.RunLoop.begin();
440
+
441
+ var i=0;
442
+ // Hide the chart if there is an existing one.
443
+ this.hideChart();
444
+
445
+ // Compile the data.
446
+ var chartView = this.getTimelineChartView();
447
+ var chartLen = chartView.chartContent.pointsCaptured,
448
+ chartCapturedTime = chartView.chartContent.totalCapturedTime;
449
+
450
+ // Get the global start of the graph.
451
+
452
+ this._benchmarkChart = SC.Pane.create({
453
+ classNames: ["sc-benchmark-pane"],
454
+ layout: { left: 20, right: 20, bottom: 20, top: 20 },
455
+ childViews: ["title", "exit"],
456
+ exit: SC.ButtonView.extend({
457
+ layout: { right: 20, top: 20, width: 100, height: 30 },
458
+ title: "Hide Chart",
459
+ target: this,
460
+ action: "hideChart"
461
+ }),
462
+
463
+ title: SC.LabelView.extend({
464
+ classNames: ['sc-benchmark-title'],
465
+ layout: { left: 20, top: 23, right: 200, height: 30 },
466
+ value: ((appName) ? appName : 'SproutCore Application') + (' - Total Captured Time: ' + chartCapturedTime +' ms - Points Captured: ' + chartLen),
467
+ fontWeight: 'bold'
468
+ })
469
+
470
+ }).append();
471
+
472
+ chartView.set('layout', { left: 20, top: 60, bottom: 20, right: 20 });
473
+ this._benchmarkChart.appendChild(chartView);
474
+
475
+ SC.RunLoop.end();
345
476
  },
346
-
477
+
347
478
  /*
348
479
  Hide chart.
349
-
350
480
  */
351
- hideChart: function()
352
- {
353
- if(this._graph) {
354
- try{
355
- document.body.removeChild(this._graph);
356
- }catch(e){}
481
+ hideChart: function() {
482
+ if (this._benchmarkChart) {
483
+ this._benchmarkChart.remove();
484
+ this._benchmarkChart = null;
357
485
  }
486
+
487
+ return YES;
488
+ },
489
+
490
+ /** @private
491
+ Because we show a pane to display the chart...
492
+ */
493
+ tryToPerform: function(action, sender) {
494
+ if (this[action]) return this[action](sender);
495
+ return NO;
358
496
  },
359
-
360
497
 
361
498
  /**
362
499
  This method is just like report() except that it will log the results to
363
500
  the console.
364
- */
501
+ */
365
502
  log: function(key) {
366
503
  // log each line to make this easier to read on an iPad
367
504
  var lines = this.report(key).split('\n'),
368
505
  len = lines.length, idx;
369
- for(idx=0;idx<len;idx++) console.log(lines[idx]);
506
+ for(idx=0;idx<len;idx++) SC.Logger.log(lines[idx]);
370
507
  },
371
-
508
+
372
509
  /**
373
510
  This will activate profiling if you have Firebug installed. Otherwise
374
511
  does nothing.
375
512
  */
376
513
  startProfile: function(key) {
377
514
  if (!this.enabled) return ;
378
- if (console && console.profile) console.profile(key) ;
515
+ SC.Logger.profile(key) ;
379
516
  },
380
-
517
+
381
518
  endProfile: function(key) {
382
519
  if (!this.enabled) return ;
383
- if (console && console.profileEnd) console.profileEnd(key) ;
520
+ SC.Logger.profileEnd(key) ;
384
521
  },
385
-
386
- // PRIVATE METHODS
387
522
 
388
- // @private
389
-
390
- // Generates, sorts, and returns the array of all the data that has been captured.
391
- _compileChartData: function(showSub)
392
- {
523
+
524
+ // ..........................................................
525
+ // Internal Support
526
+ //
527
+
528
+ /** @private
529
+ Loads data from both the browser's own event hash and SC's pre-load event hash.
530
+ */
531
+ loadPreloadEvents: function() {
532
+ var preloadEvents = SC.benchmarkPreloadEvents, events = [], idx, len, evt;
533
+
534
+ // the browsers may have their own event hash. Ours uses the same format, so
535
+ // all that we need to do is mixin the browser's to our own.
536
+ if (typeof webkitPerformnce !== 'undefined') SC.mixin(preloadEvents, webkitPerformane.timing);
537
+
538
+ // we will attempt to find when the loading started and use that as our
539
+ // global start time, but only do so if the global start time is not already set.
540
+ if (!this.globalStartTime) {
541
+ // the potential events representing start time can be either from the browser
542
+ // or our own recordings. We prefer the browser.
543
+ var globalStartEvents = ['navigation', 'navigationStart', 'headStart'];
544
+ len = globalStartEvents.length;
545
+
546
+ for (idx = 0; idx < len; idx++) {
547
+ if (preloadEvents[globalStartEvents[idx]]) {
548
+ this.globalStartTime = preloadEvents[globalStartEvents[idx]];
549
+ break;
550
+ }
551
+ }
552
+ }
553
+
554
+ // the JavaScript start time will be one recorded by us
555
+ // we record headStart in bootstrap.
556
+ this.javascriptStartTime = preloadEvents['headStart'];
557
+
558
+ // finally, mix in the events to our own events hash
559
+ SC.mixin(this.events, preloadEvents);
560
+
561
+ this._hasLoadedPreloadEvents = true;
562
+ },
563
+
564
+ /** @private
565
+ Some events represent a beginning and end. While this is not common for events
566
+ that take place after the app loads (as they can just use SC.Benchmark.start/end),
567
+ SC.Benchmark.start/end is not available before load—as such, code will add
568
+ *Start and *End events to the event hash.
569
+
570
+ This method iterates over the event hash and removes those items that represent
571
+ starts and ends, calling .start/.end for them.
572
+ */
573
+ _loadBenchmarksFromEvents: function() {
574
+ if (!this._hasLoadedPreloadEvents) this.loadPreloadEvents();
575
+
576
+ var events = this.events;
577
+ for (var i in events) {
578
+ if (i.substr(-3) !== 'End') continue;
579
+
580
+ var stem = i.substr(0, i.length - 3);
581
+ if (!events[stem + 'Start']) continue;
582
+
583
+ SC.Benchmark.start(stem, undefined, events[stem + 'Start']);
584
+ SC.Benchmark.end(stem, undefined, events[stem + 'End']);
585
+
586
+ delete events[stem + 'Start'];
587
+ delete events[stem + 'End'];
588
+ }
589
+ },
590
+
591
+ /** @private
592
+ Generates, sorts, and returns the array of all the data that has been captured.
593
+ */
594
+ _compileChartData: function(showSub) {
595
+ this._loadBenchmarksFromEvents();
596
+
393
597
  var chart = [], dispKey;
394
- for(var key in this.stats)
598
+ for(var key in this.stats)
395
599
  {
396
600
  var stat = this.stats[key];
397
601
  for(var i=0; i<stat._times.length; i++)
@@ -402,25 +606,25 @@ SC.Benchmark = {
402
606
  if(showSub)
403
607
  {
404
608
  var subStats = st._subStats;
405
- for(var k in subStats)
609
+ for(var k in subStats)
406
610
  {
407
-
611
+
408
612
  var subStat = subStats[k];
409
613
  for(var j=0; j<subStat._times.length; j++)
410
614
  {
411
615
  var s = subStat._times[j];
412
616
  dispKey = (subStat._times.length > 1) ? (j+1)+' - '+k : k;
413
617
  chart.push([dispKey, s.start, s.end, s.dur, true]);
414
-
618
+
415
619
  }
416
620
  }
417
621
  }
418
622
  }
419
623
  }
420
-
624
+
421
625
  chart.sort(function(a,b)
422
626
  {
423
- if(a[1] < b[1])
627
+ if(a[1] < b[1])
424
628
  {
425
629
  return -1;
426
630
  }
@@ -435,43 +639,48 @@ SC.Benchmark = {
435
639
 
436
640
  return chart;
437
641
  },
438
-
642
+
439
643
  // Generate the traditional report show multiple runs averaged.
644
+ /** @private */
440
645
  _genReport: function(key) {
441
646
  var stat = this._statFor(key) ;
442
647
  var avg = (stat.runs > 0) ? (Math.floor(stat.amt * 1000 / stat.runs) / 1000) : 0 ;
443
-
444
- return 'BENCH %@ msec: %@ (%@x)'.fmt(avg, (stat.name || key), stat.runs) ;
648
+ var last = stat._times[stat._times.length - 1];
649
+
650
+ return 'BENCH %@ msec: %@ (%@x); latest: %@'.fmt(avg, (stat.name || key), stat.runs, last.end - last.start);
445
651
  },
446
652
 
447
653
  // Generate the report in the form of at time line. This returns the parent.
448
- _timelineGenReport: function(val)
654
+ /** @private */
655
+ _timelineGenReport: function(val)
449
656
  {
450
657
  if(this.globalStartTime)
451
658
  {
452
- return 'BENCH start: %@ msec, duration: %@ msec, %@'.fmt((val[1]-this.globalStartTime), val[3], val[0]) ;
453
- }
659
+ return 'BENCH start: %@ msec, duration: %@ msec, %@'.fmt((val[1]-this.globalStartTime), val[3], val[0]) ;
660
+ }
454
661
  else
455
662
  {
456
- return 'BENCH duration: %@ msec, %@'.fmt( val[3], val[0]) ;
663
+ return 'BENCH duration: %@ msec, %@'.fmt( val[3], val[0]) ;
457
664
  }
458
665
  },
459
-
666
+
460
667
  // Generate the report in the form of at time line. This returns the children.
461
- _timelineGenSubReport: function(val)
668
+ /** @private */
669
+ _timelineGenSubReport: function(val)
462
670
  {
463
671
  if(this.globalStartTime)
464
672
  {
465
- return ' CHECKPOINT BENCH start: %@ msec, duration: %@ msec, %@'.fmt((val[1]-this.globalStartTime), val[3], val[0]) ;
466
- }
673
+ return ' CHECKPOINT BENCH start: %@ msec, duration: %@ msec, %@'.fmt((val[1]-this.globalStartTime), val[3], val[0]) ;
674
+ }
467
675
  else
468
676
  {
469
- return ' CHECKPOINT BENCH duration: %@ msec, %@'.fmt( val[3], val[0]) ;
677
+ return ' CHECKPOINT BENCH duration: %@ msec, %@'.fmt( val[3], val[0]) ;
470
678
  }
471
679
  },
472
-
680
+
473
681
  // returns a stats hash for the named key and parent key. If the hash does not exist yet,
474
682
  // creates it.
683
+ /** @private */
475
684
  _subStatFor: function(key, parentKey) {
476
685
  var parentTimeLen = this.stats[parentKey]._times.length;
477
686
  if(parentTimeLen === 0) return;
@@ -479,7 +688,7 @@ SC.Benchmark = {
479
688
  var ret = parentSubStats[key] ;
480
689
  if (!ret) {
481
690
  parentSubStats[key] = {
482
- runs: 0, amt: 0, name: key, _starts: [], _times: []
691
+ runs: 0, amt: 0, name: key, _starts: [], _times: []
483
692
  };
484
693
  ret = parentSubStats[key];
485
694
  }
@@ -488,27 +697,31 @@ SC.Benchmark = {
488
697
 
489
698
  // returns a stats hash for the named key. If the hash does not exist yet,
490
699
  // creates it.
700
+ /** @private */
491
701
  _statFor: function(key) {
492
702
  var ret = this.stats[key] ;
493
703
  if (!ret) {
494
704
  ret = this.stats[key] = {
495
- runs: 0, amt: 0, name: key, _starts: [], _times: []
705
+ runs: 0, amt: 0, name: key, _starts: [], _times: []
496
706
  };
497
707
  ret = this.stats[key];
498
708
  }
499
709
  return ret ;
500
710
  },
501
-
711
+
712
+ /** @private */
502
713
  reset: function() { this.stats = {} ; },
503
-
714
+
504
715
  // This is private, but it is used in some places, so we are keeping this for
505
716
  // compatibility.
717
+ /** @private */
506
718
  _bench: function(func, name) {
507
719
  SC.Benchmark.bench(func, name, 1) ;
508
720
  },
509
-
721
+
722
+ /** @private */
510
723
  _benchCount: 1
511
-
724
+
512
725
  } ;
513
726
 
514
727
  SC.Benchmark = SC.Benchmark;