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
Binary file
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env jruby
2
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/init")
3
+ require 'limelight/main'
4
+
5
+ Limelight::Main.run(ARGV)
data/bin/ll ADDED
@@ -0,0 +1,10 @@
1
+ #! /bin/bash
2
+
3
+ JAVA_OPTS=$JAVA_OPTS' -Dapple.laf.useScreenMenuBar=true '
4
+ JAVA_OPTS=$JAVA_OPTS' -Dapple.awt.showGrowBox=true '
5
+ JAVA_OPTS=$JAVA_OPTS' -Xdock:name=Limelight '
6
+ JAVA_OPTS=$JAVA_OPTS-Xdock:icon=$LIMELIGHT_HOME/bin/icons/limelight.icns
7
+
8
+ java -Xmx512M -cp $LIMELIGHT_HOME/lib/limelight.jar:$LIMELIGHT_HOME/jruby/lib/jruby.jar $JAVA_OPTS -Dlimelight.home=$LIMELIGHT_HOME limelight.Main $1 $2 $3 $4 $5
9
+
10
+
@@ -0,0 +1,5 @@
1
+ set LIMELIGHT_HOME=Z:\Projects\limelight
2
+
3
+ java -cp lib\limelight.jar;jruby\lib\jruby.jar %JAVA_OPTS% -Dlimelight.home=%LIMELIGHT_HOME% limelight.Main %1 %2 %3 %4 %5
4
+
5
+
@@ -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
+ $LIMELIGHT_LIB = File.expand_path(File.dirname(__FILE__))
5
+ $: << $LIMELIGHT_LIB unless $:.include?($LIMELIGHT_LIB)
6
+ $LIMELIGHT_HOME = File.expand_path(File.join($LIMELIGHT_LIB, ".."))
7
+
8
+ require 'java'
9
+ if File.exists?(File.dirname(__FILE__) + "/limelight.jar")
10
+ require File.expand_path(File.dirname(__FILE__) + "/limelight.jar")
11
+ end
12
+
13
+
14
+ # ENV["GEM_HOME"] = ENV["GEM_PATH"] = File.expand_path(File.dirname(__FILE__) + "/../../jruby/lib/ruby/gems/1.8")
15
+ require 'rubygems'
16
+ require 'limelight/java_couplings'
Binary file
@@ -0,0 +1,41 @@
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
+
6
+ # An object to manage a seqeunce of changes, assumedly to a prop. The Animation object is constructed with options
7
+ # and a block. Once the Animation is started, the block is invoked repeatedly until the Animation is stopped.
8
+ #
9
+ # Although, this object does not update the screen, it provides a means to perform sequential updates in evenly
10
+ # spaced time frames.
11
+ #
12
+ class Animation < Limelight::Background::Animation
13
+
14
+ # A Prop and block are required to construct an Animation. Options may include
15
+ # 1. :name (string)
16
+ # 2. :updates_per_second (int defaults to 60)
17
+ #
18
+ # animation = Animation.new(prop, Proc.new { "do something"}, :updates_per_second => 20)
19
+ # animation.start
20
+ # # time passes
21
+ # animation.stop
22
+ #
23
+ def initialize(prop, block, options={})
24
+ @block = block
25
+ name = options[:name] || "#{prop.to_s} animation"
26
+ updates_per_second = options[:updates_per_second] || 60
27
+ super(updates_per_second)
28
+ end
29
+
30
+ def doUpdate #:nodoc:
31
+ @block.call
32
+ end
33
+
34
+ # Lets you know if the animation is currently running or not.
35
+ #
36
+ def running?
37
+ return is_running
38
+ end
39
+ end
40
+
41
+ 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 'limelight/builtin/players/button'
5
+ require 'limelight/builtin/players/check_box'
6
+ require 'limelight/builtin/players/combo_box'
7
+ require 'limelight/builtin/players/radio_button'
8
+ require 'limelight/builtin/players/text_area'
9
+ require 'limelight/builtin/players/text_box'
10
+ require 'limelight/builtin/players/combo_box_popup_list_item'
11
+ require 'limelight/builtin/players/combo_box_popup_list'
12
+ require 'limelight/builtin/players/curtains'
13
+ require 'limelight/builtin/players/image'
14
+ require "limelight/builtin/players/password_box"
15
+ require "limelight/builtin/players/stage_mover"
16
+ require "limelight/builtin/players/stage_sizer"
@@ -0,0 +1,39 @@
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 Builtin
6
+ module Players
7
+
8
+ # A Builtin Player that adds the look and behavior of a native button. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_button :players => "button"
12
+ #
13
+ # Props including this Player should implement the button_pressed hook.
14
+ #
15
+ # def button_pressed(e)
16
+ # # do something
17
+ # end
18
+ #
19
+ # Props including this Player may implement any of the key and focus event hooks:
20
+ #
21
+ # key_pressed, key_typed, key_released, focus_gained, focus_lost
22
+ #
23
+ module Button
24
+ class << self
25
+
26
+ def extended(prop) #:nodoc:
27
+ button = Limelight::UI::Model::Inputs::ButtonPanel.new
28
+ prop.panel.add(button)
29
+ prop.button = button.button
30
+ end
31
+ end
32
+
33
+ attr_accessor :button #:nodoc:
34
+
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,50 @@
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 Builtin
6
+ module Players
7
+
8
+ # A Builtin Player that adds the look and behavior of a native check box. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_check_box :players => "check_box"
12
+ #
13
+ # Props including this Player may implement the button_pressed hook.
14
+ #
15
+ # def button_pressed(e)
16
+ # # do something
17
+ # end
18
+ #
19
+ # Props including this Player may implement any of the key and focus event hooks:
20
+ #
21
+ # key_pressed, key_typed, key_released, focus_gained, focus_lost
22
+ #
23
+ module CheckBox
24
+ class << self
25
+ def extended(prop) #:nodoc:
26
+ check_box = Limelight::UI::Model::Inputs::CheckBoxPanel.new
27
+ prop.panel.add(check_box)
28
+ prop.check_box = check_box.check_box
29
+ end
30
+ end
31
+
32
+ attr_accessor :check_box #:nodoc:
33
+
34
+ # Will place or remove a check mark in the check box.
35
+ #
36
+ def checked=(value)
37
+ check_box.selected = value
38
+ end
39
+
40
+ # Returns true if the check box is checked.
41
+ #
42
+ def checked
43
+ return check_box.selected?
44
+ end
45
+ alias :checked? :checked
46
+
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,89 @@
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 Builtin
6
+ module Players
7
+
8
+ # A Builtin Player that adds the look and behavior of a native combo box. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_button :players => "combo_box"
12
+ #
13
+ # Props including this Player must not override the mouse_pressed event.
14
+ #
15
+ # Props including this Player may implement an additional hook:
16
+ #
17
+ # def value_changed(e)
18
+ # # do something
19
+ # end
20
+ #
21
+ # Props including this Player may implement any of the key and focus event hooks:
22
+ #
23
+ # key_pressed, key_typed, key_released, focus_gained, focus_lost
24
+ #
25
+ module ComboBox
26
+
27
+ class << self
28
+ def extended(prop) #:nodoc:
29
+ combo_box = Limelight::UI::Model::Inputs::ComboBoxPanel.new
30
+ prop.panel.add(combo_box)
31
+ prop.combo_box = combo_box.combo_box
32
+ prop.clear
33
+ end
34
+ end
35
+
36
+ attr_accessor :combo_box #:nodoc:
37
+ attr_reader :choices
38
+
39
+ def clear #:nodoc:
40
+ @choices = []
41
+ end
42
+
43
+ # Sets the choices listed in the combo_box. The value parameter should an Array or a String that
44
+ # can be evalulated into an Array. All choices in a combo_box are strings.
45
+ #
46
+ # combo_box.choices = ["one", "two", "three"]
47
+ # combo_box.choices = "['one', 'two', 'three']"
48
+ #
49
+ def choices=(value)
50
+ value = eval(value) if value.is_a? String
51
+ raise "Invalid choices type: #{value.class}. Choices have to be an array." if !value.is_a?(Array)
52
+ @choices = value
53
+ combo_box.remove_all_items
54
+ value.each { |choice| combo_box.add_item(choice) }
55
+ end
56
+
57
+ # Sets the value of the combo box. The value provided should be one choices in the combo box.
58
+ #
59
+ def value=(text)
60
+ self.text = text
61
+ end
62
+
63
+ # Returns the value of the currently selected choice.
64
+ #
65
+ def value
66
+ return self.text
67
+ end
68
+
69
+ def mouse_pressed(e) #:nodoc:
70
+ curtains = Limelight::Prop.new(:name => "limelight_builtin_players_curtains", :players => "curtains")
71
+
72
+ popup_list = Limelight::Prop.new(:name => "limelight_builtin_players_combo_box_popup_list", :players => "combo_box_popup_list", :curtains => curtains)
73
+ popup_style = popup_list.style
74
+ popup_style.x = panel.absolute_location.x.to_s
75
+ popup_style.y = panel.absolute_location.y.to_s
76
+ popup_style.width = panel.width.to_s
77
+
78
+ @choices.each do |value|
79
+ popup_list.add(Limelight::Prop.new(:name => "limelight_builtin_players_combo_box_popup_list_item", :text => value, :players => "combo_box_popup_list_item", :combo_box => self))
80
+ end
81
+
82
+ curtains.add(popup_list)
83
+ scene.add(curtains)
84
+ end
85
+
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,19 @@
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 Builtin
6
+ module Players
7
+
8
+ module ComboBoxPopupList #:nodoc:
9
+
10
+ attr_accessor :curtains
11
+
12
+ def close
13
+ @curtains.open
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
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 Builtin
6
+ module Players
7
+
8
+ module ComboBoxPopupListItem #:nodoc:
9
+
10
+ attr_accessor :combo_box
11
+
12
+ def mouse_clicked(e)
13
+ @combo_box.value = text
14
+ parent.close
15
+ end
16
+
17
+ end
18
+
19
+ end
20
+ end
21
+ 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
+ module Limelight
5
+ module Builtin
6
+ module Players
7
+
8
+ module Curtains #:nodoc:
9
+
10
+ def open
11
+ puts "Curtains.open"
12
+ scene.remove(self)
13
+ end
14
+
15
+ def mouse_clicked(e)
16
+ open
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,54 @@
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 Builtin
6
+ module Players
7
+
8
+ module Image
9
+
10
+ class << self
11
+
12
+ def extended(prop) #:nodoc:
13
+ image_panel = Limelight::UI::Model::ImagePanel.new
14
+ prop.panel.add(image_panel)
15
+ prop.image_panel = image_panel
16
+ end
17
+
18
+ end
19
+
20
+ attr_accessor :image_panel #:nodoc:
21
+
22
+ def image=(path)
23
+ image_panel.image_file = path
24
+ end
25
+
26
+ def image_data=(data_hash)
27
+ image_panel.setImageData(data_hash[:data])
28
+ end
29
+
30
+ def image
31
+ return image_panel.image_file
32
+ end
33
+
34
+ def rotation=(value)
35
+ image_panel.rotation = value.to_f
36
+ end
37
+
38
+ def rotation
39
+ return image_panel.rotation
40
+ end
41
+
42
+ def scaled=(value)
43
+ image_panel.scaled = value
44
+ end
45
+
46
+ def scaled?
47
+ return image_panel.scaled
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
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 Builtin
6
+ module Players
7
+
8
+ # A Builtin Player that adds the look and behavior of a native password box. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_password_box :players => "password_box"
12
+ #
13
+ # Props including this Player may implement any of the key and focus event hooks:
14
+ #
15
+ # key_pressed, key_typed, key_released, focus_gained, focus_lost
16
+ #
17
+ module PasswordBox
18
+ class << self
19
+
20
+ def extended(prop) #:nodoc:
21
+ password_box = Limelight::UI::Model::Inputs::PasswordBoxPanel.new
22
+ prop.panel.add(password_box)
23
+ prop.password_box = password_box.password_box
24
+ end
25
+
26
+ end
27
+
28
+ attr_accessor :password_box #:nodoc:
29
+
30
+ end
31
+
32
+ end
33
+ end
34
+ end