epall-limelight 0.5.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. data/bin/icons/icon.ico +0 -0
  2. data/bin/icons/icon_48.gif +0 -0
  3. data/bin/icons/limelight.icns +0 -0
  4. data/bin/limelight +5 -0
  5. data/bin/ll +10 -0
  6. data/bin/ll.bat +5 -0
  7. data/lib/init.rb +16 -0
  8. data/lib/limelight.jar +0 -0
  9. data/lib/limelight/animation.rb +41 -0
  10. data/lib/limelight/builtin/players.rb +16 -0
  11. data/lib/limelight/builtin/players/button.rb +39 -0
  12. data/lib/limelight/builtin/players/check_box.rb +50 -0
  13. data/lib/limelight/builtin/players/combo_box.rb +89 -0
  14. data/lib/limelight/builtin/players/combo_box_popup_list.rb +19 -0
  15. data/lib/limelight/builtin/players/combo_box_popup_list_item.rb +21 -0
  16. data/lib/limelight/builtin/players/curtains.rb +23 -0
  17. data/lib/limelight/builtin/players/image.rb +54 -0
  18. data/lib/limelight/builtin/players/password_box.rb +34 -0
  19. data/lib/limelight/builtin/players/radio_button.rb +65 -0
  20. data/lib/limelight/builtin/players/stage_mover.rb +31 -0
  21. data/lib/limelight/builtin/players/stage_sizer.rb +34 -0
  22. data/lib/limelight/builtin/players/text_area.rb +34 -0
  23. data/lib/limelight/builtin/players/text_box.rb +34 -0
  24. data/lib/limelight/builtin/styles.rb +35 -0
  25. data/lib/limelight/builtin/utilities_production/alert/players/alert.rb +11 -0
  26. data/lib/limelight/builtin/utilities_production/alert/props.rb +8 -0
  27. data/lib/limelight/builtin/utilities_production/alert/styles.rb +14 -0
  28. data/lib/limelight/builtin/utilities_production/incompatible_version/props.rb +20 -0
  29. data/lib/limelight/builtin/utilities_production/incompatible_version/styles.rb +12 -0
  30. data/lib/limelight/builtin/utilities_production/production.rb +62 -0
  31. data/lib/limelight/builtin/utilities_production/stages.rb +12 -0
  32. data/lib/limelight/builtin/utilities_production/styles.rb +53 -0
  33. data/lib/limelight/button_group_cache.rb +11 -0
  34. data/lib/limelight/casting_director.rb +112 -0
  35. data/lib/limelight/client/playbills.rb +86 -0
  36. data/lib/limelight/commands/command.rb +168 -0
  37. data/lib/limelight/commands/create_command.rb +98 -0
  38. data/lib/limelight/commands/freeze_command.rb +131 -0
  39. data/lib/limelight/commands/help_command.rb +61 -0
  40. data/lib/limelight/commands/open_command.rb +60 -0
  41. data/lib/limelight/commands/pack_command.rb +45 -0
  42. data/lib/limelight/commands/unpack_command.rb +44 -0
  43. data/lib/limelight/commands/version_command.rb +31 -0
  44. data/lib/limelight/data.rb +37 -0
  45. data/lib/limelight/dsl/build_exception.rb +55 -0
  46. data/lib/limelight/dsl/menu_bar.rb +71 -0
  47. data/lib/limelight/dsl/prop_builder.rb +155 -0
  48. data/lib/limelight/dsl/stage_builder.rb +105 -0
  49. data/lib/limelight/dsl/styles_builder.rb +157 -0
  50. data/lib/limelight/file_chooser.rb +68 -0
  51. data/lib/limelight/file_filter.rb +33 -0
  52. data/lib/limelight/file_loader.rb +46 -0
  53. data/lib/limelight/gems.rb +51 -0
  54. data/lib/limelight/java_couplings.rb +66 -0
  55. data/lib/limelight/java_util.rb +49 -0
  56. data/lib/limelight/limelight_exception.rb +24 -0
  57. data/lib/limelight/main.rb +108 -0
  58. data/lib/limelight/paint_action.rb +27 -0
  59. data/lib/limelight/pen.rb +83 -0
  60. data/lib/limelight/producer.rb +179 -0
  61. data/lib/limelight/production.rb +169 -0
  62. data/lib/limelight/prop.rb +367 -0
  63. data/lib/limelight/scene.rb +151 -0
  64. data/lib/limelight/specs/spec_helper.rb +87 -0
  65. data/lib/limelight/specs/test_scene_opener.rb +60 -0
  66. data/lib/limelight/stage.rb +292 -0
  67. data/lib/limelight/string.rb +38 -0
  68. data/lib/limelight/studio.rb +185 -0
  69. data/lib/limelight/styles.rb +347 -0
  70. data/lib/limelight/templates/production_templater.rb +49 -0
  71. data/lib/limelight/templates/scene_templater.rb +47 -0
  72. data/lib/limelight/templates/sources/freezing/limelight_init.rb.template +5 -0
  73. data/lib/limelight/templates/sources/production/init.rb.template +15 -0
  74. data/lib/limelight/templates/sources/production/production.rb.template +49 -0
  75. data/lib/limelight/templates/sources/production/spec/spec_helper.rb.template +12 -0
  76. data/lib/limelight/templates/sources/production/stages.rb.template +17 -0
  77. data/lib/limelight/templates/sources/production/styles.rb.template +12 -0
  78. data/lib/limelight/templates/sources/scene/props.rb.template +6 -0
  79. data/lib/limelight/templates/sources/scene/styles.rb.template +18 -0
  80. data/lib/limelight/templates/sources/scene_spec/scene_spec.rb.template +13 -0
  81. data/lib/limelight/templates/templater.rb +131 -0
  82. data/lib/limelight/templates/templater_logger.rb +39 -0
  83. data/lib/limelight/theater.rb +77 -0
  84. data/lib/limelight/util.rb +65 -0
  85. data/lib/limelight/util/downloader.rb +115 -0
  86. data/lib/limelight/version.rb +20 -0
  87. data/productions/examples/8thlight.com/about/about.txt +24 -0
  88. data/productions/examples/8thlight.com/about/props.rb +11 -0
  89. data/productions/examples/8thlight.com/about/styles.rb +2 -0
  90. data/productions/examples/8thlight.com/footer.rb +6 -0
  91. data/productions/examples/8thlight.com/home/props.rb +28 -0
  92. data/productions/examples/8thlight.com/home/styles.rb +2 -0
  93. data/productions/examples/8thlight.com/images/anvil.jpg +0 -0
  94. data/productions/examples/8thlight.com/images/bg.jpg +0 -0
  95. data/productions/examples/8thlight.com/images/botticelli.jpg +0 -0
  96. data/productions/examples/8thlight.com/images/button_bg.jpg +0 -0
  97. data/productions/examples/8thlight.com/images/canvas_bg.jpg +0 -0
  98. data/productions/examples/8thlight.com/images/footer_bg.jpg +0 -0
  99. data/productions/examples/8thlight.com/images/header.jpg +0 -0
  100. data/productions/examples/8thlight.com/images/moses.jpg +0 -0
  101. data/productions/examples/8thlight.com/images/statemachine_thumbnail.png +0 -0
  102. data/productions/examples/8thlight.com/images/thumbnail_book.jpg +0 -0
  103. data/productions/examples/8thlight.com/menu.rb +11 -0
  104. data/productions/examples/8thlight.com/services/props.rb +11 -0
  105. data/productions/examples/8thlight.com/services/services.txt +8 -0
  106. data/productions/examples/8thlight.com/services/styles.rb +2 -0
  107. data/productions/examples/8thlight.com/stages.rb +8 -0
  108. data/productions/examples/8thlight.com/styles.rb +210 -0
  109. data/productions/examples/calculator/players/button.rb +24 -0
  110. data/productions/examples/calculator/players/calculator.rb +15 -0
  111. data/productions/examples/calculator/players/calculator_model.rb +13 -0
  112. data/productions/examples/calculator/props.rb +23 -0
  113. data/productions/examples/calculator/styles.rb +36 -0
  114. data/productions/examples/langstons_ant/html_javascript/ant.css +39 -0
  115. data/productions/examples/langstons_ant/html_javascript/ant.html +22 -0
  116. data/productions/examples/langstons_ant/html_javascript/ant.js +23 -0
  117. data/productions/examples/langstons_ant/init.rb +4 -0
  118. data/productions/examples/langstons_ant/players/ant.rb +103 -0
  119. data/productions/examples/langstons_ant/players/log.rb +29 -0
  120. data/productions/examples/langstons_ant/players/start_stop_button.rb +37 -0
  121. data/productions/examples/langstons_ant/players/world.rb +35 -0
  122. data/productions/examples/langstons_ant/props.rb +22 -0
  123. data/productions/examples/langstons_ant/styles.rb +104 -0
  124. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/props.rb +10 -0
  125. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/styles.rb +32 -0
  126. data/productions/examples/sandbox/alerts/incompatible_production/production.rb +52 -0
  127. data/productions/examples/sandbox/alerts/incompatible_production/spec/default_scene/default_scene_spec.rb +16 -0
  128. data/productions/examples/sandbox/alerts/incompatible_production/spec/spec_helper.rb +8 -0
  129. data/productions/examples/sandbox/alerts/incompatible_production/stages.rb +20 -0
  130. data/productions/examples/sandbox/alerts/incompatible_production/styles.rb +15 -0
  131. data/productions/examples/sandbox/alerts/players/alerts.rb +17 -0
  132. data/productions/examples/sandbox/alerts/props.rb +10 -0
  133. data/productions/examples/sandbox/alerts/styles.rb +46 -0
  134. data/productions/examples/sandbox/background_images/props.rb +22 -0
  135. data/productions/examples/sandbox/background_images/styles.rb +40 -0
  136. data/productions/examples/sandbox/click_me/players/chromaton.rb +52 -0
  137. data/productions/examples/sandbox/click_me/props.rb +8 -0
  138. data/productions/examples/sandbox/click_me/styles.rb +11 -0
  139. data/productions/examples/sandbox/floaters/players/floater.rb +108 -0
  140. data/productions/examples/sandbox/floaters/players/surface.rb +21 -0
  141. data/productions/examples/sandbox/floaters/props.rb +10 -0
  142. data/productions/examples/sandbox/floaters/styles.rb +24 -0
  143. data/productions/examples/sandbox/frameing/players/sandbox.rb +17 -0
  144. data/productions/examples/sandbox/frameing/props.rb +35 -0
  145. data/productions/examples/sandbox/frameing/styles.rb +45 -0
  146. data/productions/examples/sandbox/gradients/players/spinner.rb +20 -0
  147. data/productions/examples/sandbox/gradients/players/teaser.rb +19 -0
  148. data/productions/examples/sandbox/gradients/players/wave.rb +19 -0
  149. data/productions/examples/sandbox/gradients/players/waves.rb +19 -0
  150. data/productions/examples/sandbox/gradients/props.rb +13 -0
  151. data/productions/examples/sandbox/gradients/styles.rb +47 -0
  152. data/productions/examples/sandbox/header.rb +22 -0
  153. data/productions/examples/sandbox/homer/players/homer.rb +24 -0
  154. data/productions/examples/sandbox/homer/props.rb +10 -0
  155. data/productions/examples/sandbox/homer/styles.rb +16 -0
  156. data/productions/examples/sandbox/images/arch.jpg +0 -0
  157. data/productions/examples/sandbox/images/beach.jpg +0 -0
  158. data/productions/examples/sandbox/images/homer.jpg +0 -0
  159. data/productions/examples/sandbox/images/limelight_spotlight.jpg +0 -0
  160. data/productions/examples/sandbox/images/logo.png +0 -0
  161. data/productions/examples/sandbox/images/marilyn.jpg +0 -0
  162. data/productions/examples/sandbox/images/space.png +0 -0
  163. data/productions/examples/sandbox/images_scene/props.rb +36 -0
  164. data/productions/examples/sandbox/images_scene/styles.rb +34 -0
  165. data/productions/examples/sandbox/inputs/players/button_input.rb +48 -0
  166. data/productions/examples/sandbox/inputs/players/check_box_input.rb +40 -0
  167. data/productions/examples/sandbox/inputs/players/combo_box_input.rb +41 -0
  168. data/productions/examples/sandbox/inputs/players/radio_button_input.rb +43 -0
  169. data/productions/examples/sandbox/inputs/players/text_area_input.rb +36 -0
  170. data/productions/examples/sandbox/inputs/players/text_box_input.rb +36 -0
  171. data/productions/examples/sandbox/inputs/props.rb +40 -0
  172. data/productions/examples/sandbox/inputs/styles.rb +39 -0
  173. data/productions/examples/sandbox/kiosk/players/kiosk.rb +39 -0
  174. data/productions/examples/sandbox/kiosk/props.rb +9 -0
  175. data/productions/examples/sandbox/kiosk/styles.rb +37 -0
  176. data/productions/examples/sandbox/players/sandbox.rb +11 -0
  177. data/productions/examples/sandbox/rounded_corners/players/box.rb +11 -0
  178. data/productions/examples/sandbox/rounded_corners/props.rb +22 -0
  179. data/productions/examples/sandbox/rounded_corners/styles.rb +17 -0
  180. data/productions/examples/sandbox/scrolling/players/add_button.rb +19 -0
  181. data/productions/examples/sandbox/scrolling/players/cell.rb +15 -0
  182. data/productions/examples/sandbox/scrolling/props.rb +45 -0
  183. data/productions/examples/sandbox/scrolling/styles.rb +33 -0
  184. data/productions/examples/sandbox/sketching/players/sketchpad.rb +46 -0
  185. data/productions/examples/sandbox/sketching/props.rb +25 -0
  186. data/productions/examples/sandbox/sketching/styles.rb +35 -0
  187. data/productions/examples/sandbox/sounds/bird.au +0 -0
  188. data/productions/examples/sandbox/sounds/cat.au +0 -0
  189. data/productions/examples/sandbox/sounds/cow.au +0 -0
  190. data/productions/examples/sandbox/sounds/dog.au +0 -0
  191. data/productions/examples/sandbox/sounds/donkey.au +0 -0
  192. data/productions/examples/sandbox/sounds/duck.au +0 -0
  193. data/productions/examples/sandbox/sounds/players/clip.rb +10 -0
  194. data/productions/examples/sandbox/sounds/props.rb +10 -0
  195. data/productions/examples/sandbox/sounds/styles.rb +17 -0
  196. data/productions/examples/sandbox/spec/alerts/alerts_spec.rb +16 -0
  197. data/productions/examples/sandbox/stage_handles/players/sizer.rb +35 -0
  198. data/productions/examples/sandbox/stage_handles/props.rb +17 -0
  199. data/productions/examples/sandbox/stage_handles/styles.rb +58 -0
  200. data/productions/examples/sandbox/stages.rb +8 -0
  201. data/productions/examples/sandbox/styles.rb +35 -0
  202. data/productions/examples/sandbox/teaser/players/fader.rb +58 -0
  203. data/productions/examples/sandbox/teaser/props.rb +14 -0
  204. data/productions/examples/sandbox/teaser/styles.rb +21 -0
  205. data/productions/examples/tutorials/tutorial_1/players/sample.rb +11 -0
  206. data/productions/examples/tutorials/tutorial_1/props.rb +9 -0
  207. data/productions/examples/tutorials/tutorial_1/styles.rb +25 -0
  208. data/productions/playbills.lll +1 -0
  209. data/productions/stage_composer/init.rb +10 -0
  210. data/productions/stage_composer/inspector/players/inspector.rb +80 -0
  211. data/productions/stage_composer/inspector/players/prop_row.rb +12 -0
  212. data/productions/stage_composer/inspector/players/prop_tree.rb +33 -0
  213. data/productions/stage_composer/inspector/players/style_table.rb +12 -0
  214. data/productions/stage_composer/inspector/players/style_value.rb +16 -0
  215. data/productions/stage_composer/inspector/props.rb +19 -0
  216. data/productions/stage_composer/inspector/styles.rb +71 -0
  217. data/productions/stage_composer/lib/init.rb +5 -0
  218. data/productions/stage_composer/lib/limelight/composer/controller.rb +51 -0
  219. data/productions/stage_composer/lib/limelight/composer/lethargy.rb +24 -0
  220. data/productions/stage_composer/production.rb +6 -0
  221. data/productions/stage_composer/stages.rb +15 -0
  222. data/productions/startup/images/logo.png +0 -0
  223. data/productions/startup/images/splash.png +0 -0
  224. data/productions/startup/production.rb +52 -0
  225. data/productions/startup/spec/default_scene/default_scene_spec.rb +16 -0
  226. data/productions/startup/spec/spec_helper.rb +8 -0
  227. data/productions/startup/stages.rb +9 -0
  228. data/productions/startup/styles.rb +15 -0
  229. data/productions/startup/welcome/players/browse_button.rb +10 -0
  230. data/productions/startup/welcome/players/download_button.rb +17 -0
  231. data/productions/startup/welcome/players/sandbox_button.rb +11 -0
  232. data/productions/startup/welcome/props.rb +23 -0
  233. data/productions/startup/welcome/styles.rb +103 -0
  234. data/spec/limelight/builtin/players/button_spec.rb +20 -0
  235. data/spec/limelight/builtin/players/check_box_spec.rb +29 -0
  236. data/spec/limelight/builtin/players/combo_box_spec.rb +29 -0
  237. data/spec/limelight/builtin/players/image_spec.rb +43 -0
  238. data/spec/limelight/builtin/players/password_box_spec.rb +27 -0
  239. data/spec/limelight/builtin/players/radio_button_spec.rb +64 -0
  240. data/spec/limelight/builtin/players/stage_mover_spec.rb +36 -0
  241. data/spec/limelight/builtin/players/stage_sizer_spec.rb +40 -0
  242. data/spec/limelight/builtin/players/text_area_spec.rb +27 -0
  243. data/spec/limelight/builtin/players/text_box_spec.rb +27 -0
  244. data/spec/limelight/builtin/utilities_production/spec_helper.rb +7 -0
  245. data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +146 -0
  246. data/spec/limelight/casting_director_spec.rb +164 -0
  247. data/spec/limelight/client/playbills_spec.rb +79 -0
  248. data/spec/limelight/commands/command_spec.rb +26 -0
  249. data/spec/limelight/commands/create_command_spec.rb +108 -0
  250. data/spec/limelight/commands/freeze_command_spec.rb +143 -0
  251. data/spec/limelight/commands/help_command_spec.rb +42 -0
  252. data/spec/limelight/commands/open_command_spec.rb +52 -0
  253. data/spec/limelight/commands/pack_command_spec.rb +26 -0
  254. data/spec/limelight/commands/unpack_command_spec.rb +47 -0
  255. data/spec/limelight/data_spec.rb +36 -0
  256. data/spec/limelight/dsl/prop_builder_spec.rb +245 -0
  257. data/spec/limelight/dsl/stage_builder_spec.rb +90 -0
  258. data/spec/limelight/dsl/styles_builder_spec.rb +194 -0
  259. data/spec/limelight/file_chooser_spec.rb +64 -0
  260. data/spec/limelight/file_filter_spec.rb +29 -0
  261. data/spec/limelight/file_loader_spec.rb +28 -0
  262. data/spec/limelight/gems_spec.rb +92 -0
  263. data/spec/limelight/java_util_spec.rb +37 -0
  264. data/spec/limelight/main_spec.rb +40 -0
  265. data/spec/limelight/paint_action_spec.rb +30 -0
  266. data/spec/limelight/pen_spec.rb +62 -0
  267. data/spec/limelight/producer_spec.rb +210 -0
  268. data/spec/limelight/production_spec.rb +100 -0
  269. data/spec/limelight/prop_spec.rb +431 -0
  270. data/spec/limelight/scene_spec.rb +173 -0
  271. data/spec/limelight/stage_spec.rb +202 -0
  272. data/spec/limelight/string_spec.rb +38 -0
  273. data/spec/limelight/studio_spec.rb +157 -0
  274. data/spec/limelight/styles_spec.rb +53 -0
  275. data/spec/limelight/templates/production_templater_spec.rb +66 -0
  276. data/spec/limelight/templates/scene_templater_spec.rb +51 -0
  277. data/spec/limelight/templates/templater_logger_spec.rb +41 -0
  278. data/spec/limelight/templates/templater_spec.rb +107 -0
  279. data/spec/limelight/theater_spec.rb +72 -0
  280. data/spec/limelight/util/downloader_spec.rb +92 -0
  281. data/spec/spec_helper.rb +70 -0
  282. metadata +335 -0
@@ -0,0 +1,5 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ $: << File.expand_path(File.dirname(__FILE__))
5
+ require 'limelight/composer/controller'
@@ -0,0 +1,51 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Limelight
5
+ module Composer
6
+
7
+ class Controller
8
+
9
+ def initialize(production)
10
+ @production = production
11
+ end
12
+
13
+ def prop_selected(prop)
14
+ puts "Prop clicked: #{prop}"
15
+ highlight(prop)
16
+ @production.inspector.inspect_prop(prop)
17
+ end
18
+
19
+ def value_changed(descriptor, value)
20
+ @highlighted_prop.style.put(descriptor, value)
21
+ @highlighted_prop.update
22
+ end
23
+
24
+ private #############################################
25
+
26
+ def highlight(prop)
27
+ if @highlighted_prop
28
+ @highlighted_prop.after_painting(nil)
29
+ @highlighted_prop.update
30
+ end
31
+ @highlighted_prop = prop
32
+ prop.after_painting { |pen| paint_hightlight(prop, pen) }
33
+ prop.update
34
+ end
35
+
36
+ def paint_hightlight(prop, pen)
37
+ area = prop.area
38
+
39
+ pen.color = "#B8C6F2DD"
40
+ pen.fill_rectangle(0, 0, area.width, area.height)
41
+
42
+ pen.color = "#0638CCDD"
43
+ pen.width = 5
44
+ pen.draw_rectangle(0, 0, area.width - 1, area.height - 1)
45
+ end
46
+
47
+
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,24 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Limelight
5
+ module Composer
6
+
7
+ module Lethargy
8
+
9
+ def self.null_event(*args)
10
+ args.each do |sym|
11
+ define_method(sym) { |event| } # do nothing
12
+ end
13
+ end
14
+
15
+ null_event *Limelight::Prop::EVENTS
16
+
17
+ def mouse_clicked(e)
18
+ scene.production.controller.prop_selected(self)
19
+ end
20
+
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,6 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ name "Stage Composer"
5
+ attribute :controller
6
+ attribute :inspector
@@ -0,0 +1,15 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ stage "inspector" do
5
+ default_scene "inspector"
6
+ title "Limelight Composer Inspector"
7
+ location [0, 0]
8
+ size [300, 800]
9
+ end
10
+
11
+ stage "viewer" do
12
+ title "Limelight Composer Viewer"
13
+ location [350, 0]
14
+ size [800, 800]
15
+ end
@@ -0,0 +1,52 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ # This file (production.rb) is the first file loaded opening a production. It must define a module named 'Production'.
5
+ # The containing production will acquire all the behavior defined in this module.
6
+ # You may define serveral hooks and initialization steps here.
7
+
8
+ module Production
9
+
10
+ # # Define this method if you want the production name to be different from the default, directory name.
11
+ # def name
12
+ # return Startup
13
+ # end
14
+ #
15
+ # # Returns the minimum version of limelight required to run this production. Default: "0.0.0"
16
+ # # If the version of limelight used to open this production is less than the minimum,
17
+ # # an error will be displayed (starting with version 0.4.0).
18
+ # #
19
+ # def minimum_limelight_version
20
+ # return "0.4.0"
21
+ # end
22
+ #
23
+ # # Hook #1. Called when the production is newly created, before any loading has been done.
24
+ # # This is a good place to require needed files and instantiate objects in the busines layer.
25
+ # def production_opening
26
+ # end
27
+ #
28
+ # # Hook #2. Called after internal gems have been loaded and stages have been instantiated, yet before
29
+ # # any scenes have been opened.
30
+ # def production_loaded
31
+ # end
32
+ #
33
+ # # Hook #3. Called when the production, and all the scenes, have fully opened.
34
+ # def production_opened
35
+ # end
36
+ #
37
+ # # The system will call this methods when it wishes to close the production, perhaps when the user quits the
38
+ # # application. By default the production will always return true. You may override this behavior by re-implenting
39
+ # # the methods here.
40
+ # def allow_close?
41
+ # return true
42
+ # end
43
+ #
44
+ # # Called when the production is about to be closed.
45
+ # def production_closing
46
+ # end
47
+ #
48
+ # # Called when the production is fully closed.
49
+ # def production_closed
50
+ # end
51
+
52
+ end
@@ -0,0 +1,16 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
+
6
+ describe "Default Scene" do
7
+
8
+ uses_scene "default_scene", :hidden => true
9
+
10
+ it "should have default text" do
11
+ scene.children.size.should == 1
12
+ root = scene.children[0]
13
+ root.text.should == "This is the Default Scene scene."
14
+ end
15
+
16
+ end
@@ -0,0 +1,8 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ require 'rubygems'
5
+ require 'spec'
6
+ require 'limelight/specs/spec_helper'
7
+
8
+ $PRODUCTION_PATH = File.expand_path(File.dirname(__FILE__) + "/../")
@@ -0,0 +1,9 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ stage "default" do
5
+ default_scene "welcome"
6
+ title "Limelight"
7
+ location :center, :center
8
+ size [900, 800]
9
+ end
@@ -0,0 +1,15 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ # This file, (styles.rb) in the root directory of the production, should define any styles that are used in multiple
5
+ # scenes. It makes use of the StyleBuilder DSL.
6
+ #
7
+ # For more information see: http://limelightwiki.8thlight.com/index.php/A_Cook%27s_Tour_of_Limelight#Styling_with_styles.rb
8
+ # For a complete listing of style attributes see: http://limelightwiki.8thlight.com/index.php/Style_Attributes
9
+
10
+ # An example style definition
11
+ #foo {
12
+ # width 100
13
+ # height 100
14
+ # background_color :blue
15
+ #}
@@ -0,0 +1,10 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module BrowseButton
5
+
6
+ def mouse_clicked(e)
7
+ scene.open_chosen_production
8
+ end
9
+
10
+ end
@@ -0,0 +1,17 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module DownloadButton
5
+
6
+ def mouse_clicked(e)
7
+ url = scene.find("url_field").text
8
+ begin
9
+ puts "url: #{url}"
10
+ file = Limelight::Util::Downloader.download(url.strip)
11
+ scene.open_production(file)
12
+ rescue Exception => e
13
+ scene.stage.alert(e.to_s)
14
+ end
15
+ end
16
+
17
+ end
@@ -0,0 +1,11 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module SandboxButton
5
+
6
+ def mouse_clicked(e)
7
+ sandbox_path = File.join($LIMELIGHT_HOME, "productions", "examples", "sandbox")
8
+ scene.open_production(sandbox_path)
9
+ end
10
+
11
+ end
@@ -0,0 +1,23 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ __ :name => "root"
5
+ welcome :text => "Welcome to..."
6
+ logo
7
+ intro :text => "From here you may..."
8
+ section do
9
+ section_title :text => "1. Open a Production on Your Computer"
10
+ browse_button :text => "Browse My Computer"
11
+ end
12
+ section do
13
+ section_title :text => "2. Download and Open a Production From the Internet"
14
+ section_label :text => "URL:"
15
+ url_field :players => "text_box", :id => "url_field"
16
+ download_button :text => "Download"
17
+ end
18
+ section do
19
+ section_title :text => "3. Open the Limelight Sandbox Production, Full of Examples."
20
+ sandbox_button :text => "Open the Sandbox"
21
+ end
22
+ spacer :width => "100", :height => "110"
23
+ copyright :text => "Copyright 2008-2009 8th Light, Inc."
@@ -0,0 +1,103 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ root {
5
+ width "900"
6
+ height "800"
7
+ background_image "images/splash.png"
8
+ }
9
+
10
+ welcome {
11
+ top_padding 50
12
+ left_padding 50
13
+ font_size 50
14
+ font_face "Brush Script MT"
15
+ text_color :white
16
+ width "100%"
17
+ }
18
+
19
+ logo {
20
+ left_margin 100
21
+ width 500
22
+ height 110
23
+ background_image "images/logo.png"
24
+ background_image_fill_strategy :static
25
+ }
26
+
27
+ intro {
28
+ top_margin 25
29
+ left_margin 20
30
+ width "100%"
31
+ text_color :white
32
+ font_face "Arial Rounded MT Bold"
33
+ font_style "italic"
34
+ font_size 25
35
+ }
36
+
37
+ section {
38
+ width "100%"
39
+ margin 20
40
+ rounded_corner_radius 20
41
+ background_color "#fffa"
42
+ secondary_background_color "#fff6"
43
+ gradient :on
44
+ gradient_angle 270
45
+ padding 10
46
+ horizontal_alignment :center
47
+ }
48
+
49
+ section_title {
50
+ width "100%"
51
+ horizontal_alignment :center
52
+ font_size 25
53
+ font_face "Arial Rounded MT Bold"
54
+ text_color "#666"
55
+ }
56
+
57
+ section_label {
58
+ text_color :white
59
+ font_face "Arial Rounded MT Bold"
60
+ font_size 25
61
+ }
62
+
63
+ copyright {
64
+ width "100%"
65
+ text_color :white
66
+ font_face "Times New Roman"
67
+ font_size "14"
68
+ horizontal_alignment :center
69
+ }
70
+
71
+ browse_button {
72
+ horizontal_alignment :center
73
+ width "100%"
74
+ text_color :white
75
+ font_face "Arial Rounded MT Bold"
76
+ font_style "italic"
77
+ font_size 25
78
+ hover {
79
+ text_color "#67b313"
80
+ }
81
+ }
82
+
83
+ url_field {
84
+ top_padding 5
85
+ width 500
86
+ height 30
87
+ }
88
+
89
+ download_button {
90
+ extends "browse_button"
91
+ width :auto
92
+ left_padding 5
93
+ hover {
94
+ text_color "#67b313"
95
+ }
96
+ }
97
+
98
+ sandbox_button{
99
+ extends "browse_button"
100
+ hover {
101
+ text_color "#67b313"
102
+ }
103
+ }
@@ -0,0 +1,20 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
5
+ require 'limelight/scene'
6
+ require 'limelight/prop'
7
+ require 'limelight/builtin/players/button'
8
+
9
+ describe Limelight::Builtin::Players::Button do
10
+
11
+ before(:each) do
12
+ @prop = Limelight::Prop.new
13
+ @prop.include_player(Limelight::Builtin::Players::Button)
14
+ end
15
+
16
+ it "should have a Button" do
17
+ @prop.panel.children[0].class.should == Limelight::UI::Model::Inputs::ButtonPanel
18
+ end
19
+
20
+ end
@@ -0,0 +1,29 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
5
+ require 'limelight/prop'
6
+ require 'limelight/builtin/players/check_box'
7
+
8
+ describe Limelight::Builtin::Players::CheckBox do
9
+
10
+ before(:each) do
11
+ @prop = Limelight::Prop.new
12
+ @prop.include_player(Limelight::Builtin::Players::CheckBox)
13
+ end
14
+
15
+ it "should have a TextField" do
16
+ @prop.panel.children[0].class.should == Limelight::UI::Model::Inputs::CheckBoxPanel
17
+ end
18
+
19
+ it "should handled checked state" do
20
+ @prop.checked?.should == false
21
+ @prop.checked.should == false
22
+
23
+ @prop.checked = true
24
+
25
+ @prop.checked?.should == true
26
+ @prop.checked.should == true
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
5
+ require 'limelight/scene'
6
+ require 'limelight/prop'
7
+ require 'limelight/builtin/players/combo_box'
8
+
9
+ describe Limelight::Builtin::Players::ComboBox do
10
+
11
+ before(:each) do
12
+ @scene = Limelight::Scene.new(:casting_director => make_mock("caster", :fill_cast => nil))
13
+ @prop = Limelight::Prop.new(:scene => @scene)
14
+ @prop.include_player(Limelight::Builtin::Players::ComboBox)
15
+ end
16
+
17
+ it "should have a ComboBox" do
18
+ @prop.panel.children[0].class.should == Limelight::UI::Model::Inputs::ComboBoxPanel
19
+ end
20
+
21
+ it "should have settable value" do
22
+ @prop.choices = ["1", "2", "3"]
23
+ @prop.value.should == "1"
24
+
25
+ @prop.value = "3"
26
+ @prop.value.should == "3"
27
+ end
28
+
29
+ end