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,65 @@
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 radio button. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_radio_button :players => "radio_button", :id => "radio1", :group => "my_radio_button_group"
12
+ #
13
+ # When including this Player, it's important to specify a group and id. All radio buttons in the same group will
14
+ # be mutually exclusive. The value of a radio button group will be the id of the selected radio button.
15
+ #
16
+ # Props including this Player may implement the button_pressed hook.
17
+ #
18
+ # def button_pressed(e)
19
+ # # do something
20
+ # end
21
+ #
22
+ # Props including this Player may implement any of the key and focus event hooks:
23
+ #
24
+ # key_pressed, key_typed, key_released, focus_gained, focus_lost
25
+ #
26
+ module RadioButton
27
+ class << self
28
+ def extended(prop) #:nodoc:
29
+ radio_button = Limelight::UI::Model::Inputs::RadioButtonPanel.new
30
+ prop.panel.add(radio_button)
31
+ prop.radio_button = radio_button.radio_button
32
+ end
33
+ end
34
+
35
+ attr_accessor :radio_button #:nodoc:
36
+ attr_reader :button_group #:nodoc:
37
+
38
+ # Sets the radio button group to which this radio button belongs.
39
+ #
40
+ def group=(group_name)
41
+ @button_group = scene.button_groups[group_name]
42
+ @button_group.add(@radio_button)
43
+ end
44
+
45
+ # Checks or unchecks this radio button.
46
+ #
47
+ def checked=(value)
48
+ @radio_button.selected = value
49
+ end
50
+ alias :selected= :checked=
51
+
52
+ # Returns true is this radio is button is checked.
53
+ #
54
+ def checked
55
+ return @radio_button.is_selected
56
+ end
57
+ alias :checked? :checked
58
+ alias :selected? :checked
59
+ alias :selected :checked
60
+
61
+ end
62
+
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,31 @@
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 StageMover
9
+
10
+ def mouse_pressed(e)
11
+ @drag_reference_x = e.x
12
+ @drag_reference_y = e.y
13
+ end
14
+
15
+ def mouse_dragged(e)
16
+ dx = e.x - @drag_reference_x
17
+ dy = e.y - @drag_reference_y
18
+
19
+ frame = scene.stage.frame
20
+ location = frame.location
21
+
22
+ location.x += dx
23
+ location.y += dy
24
+ frame.location = location
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+ end
31
+ 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
+ module StageSizer
9
+
10
+ def mouse_pressed(e)
11
+ @sizer_reference_x = e.x
12
+ @sizer_reference_y = e.y
13
+ @sizer_frame = scene.stage.frame
14
+ @sizer_reference_size = @sizer_frame.size
15
+ end
16
+
17
+ def mouse_dragged(e)
18
+ return unless @sizer_frame
19
+ dx = e.x - @sizer_reference_x
20
+ dy = e.y - @sizer_reference_y
21
+
22
+ @sizer_reference_x = e.x
23
+ @sizer_reference_y = e.y
24
+
25
+ @sizer_reference_size.width += dx
26
+ @sizer_reference_size.height += dy
27
+ @sizer_frame.size = @sizer_reference_size
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+ end
34
+ 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 text area. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_text_area :players => "text_area"
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 TextArea
18
+ class << self
19
+
20
+ def extended(prop) #:nodoc:
21
+ text_area = Limelight::UI::Model::Inputs::TextAreaPanel.new
22
+ prop.panel.add(text_area)
23
+ prop.text_area = text_area.text_area
24
+ end
25
+
26
+ end
27
+
28
+ attr_accessor :text_area #:nodoc:
29
+
30
+ end
31
+
32
+ end
33
+ end
34
+ 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 text box. It may be applied in the PropBuilder DSL
9
+ # like so:
10
+ #
11
+ # my_text_box :players => "text_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 TextBox
18
+ class << self
19
+
20
+ def extended(prop) #:nodoc:
21
+ text_box = Limelight::UI::Model::Inputs::TextBoxPanel.new
22
+ prop.panel.add(text_box)
23
+ prop.text_box = text_box.text_box
24
+ end
25
+
26
+ end
27
+
28
+ attr_accessor :text_box #:nodoc:
29
+
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,35 @@
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_builtin_players_curtains {
5
+ float :on
6
+ x 0
7
+ y 0
8
+ width "100%"
9
+ height "100%"
10
+ background_color "#FFF0"
11
+ }
12
+
13
+ limelight_builtin_players_combo_box_popup_list {
14
+ float "on"
15
+ background_color "#EEED"
16
+ rounded_corner_radius 5
17
+ border_width 1
18
+ border_color "#dcdcdc"
19
+ vertical_scrollbar :on
20
+ min_height 50
21
+ max_height 200
22
+ }
23
+
24
+ limelight_builtin_players_combo_box_popup_list_item {
25
+ width "100%"
26
+ padding 3
27
+ left_padding 10
28
+ hover {
29
+ text_color :white
30
+ background_color "#0f38e8"
31
+ secondary_background_color "#506ff6"
32
+ gradient_angle 90
33
+ gradient :on
34
+ }
35
+ }
@@ -0,0 +1,11 @@
1
+ module Alert
2
+
3
+ prop_reader :message
4
+
5
+ def scene_opened(e)
6
+ if message.area.height == message.style.max_height.to_i
7
+ message.style.vertical_scrollbar = :on
8
+ end
9
+ end
10
+
11
+ 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
+ title :id => "title", :text => "Limelight Alert"
5
+ advise :id => "message", :text => @message
6
+ buttons do
7
+ button :id => "ok_button", :text => "OK", :players => "button", :on_button_pressed => "production.process_alert_response(true)"
8
+ end
@@ -0,0 +1,14 @@
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
+ alert {
5
+ background_color "#b2db5b"
6
+ secondary_background_color "#8fc927"
7
+ gradient :on
8
+ gradient_angle 270
9
+ padding 20
10
+ }
11
+
12
+ advise {
13
+ max_height 500
14
+ }
@@ -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
+ title :text => "Incompatible Version"
5
+ label :text => "Production:"
6
+ bold_label :id => "production_name_label", :text => @production_name
7
+ label :text => "Minimum Required Version:"
8
+ bold_label :id => "required_version_label", :text => @required_version
9
+ label :text => "Current Limelight Version:"
10
+ bold_label :id => "current_version_label", :text => Limelight::VERSION::STRING
11
+ advise_text = <<END
12
+ To open this production, it is recommended that you install a newer version of Limelight. Proceeding to open this production with the current version may lead to unpredictable results.
13
+
14
+ Would you like to open this production anyway?
15
+ END
16
+ advise :text => advise_text
17
+ buttons do
18
+ button :id => "cancel_button", :text => "Cancel", :players => "button", :on_button_pressed => "production.process_incompatible_version_response(false)"
19
+ button :id => "proceed_button", :width => "150", :text => "Open Production", :players => "button", :on_button_pressed => "production.process_incompatible_version_response(true)"
20
+ end
@@ -0,0 +1,12 @@
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
+ incompatible_version {
5
+ background_color "#b2db5b"
6
+ secondary_background_color "#8fc927"
7
+ gradient :on
8
+ gradient_angle 270
9
+ # rounded_corner_radius 15
10
+ padding 20
11
+ }
12
+
@@ -0,0 +1,62 @@
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 'monitor'
5
+
6
+ module Production
7
+
8
+ def production_opening
9
+ @monitor = Monitor.new
10
+ @alert_monitor = @monitor.new_cond
11
+ end
12
+
13
+ def default_scene
14
+ nil
15
+ end
16
+
17
+ def process_incompatible_version_response(response)
18
+ @incompatible_version_response = response
19
+ @incompatible_version_stage.close
20
+ @main_thread.run
21
+ end
22
+
23
+ def proceed_with_incompatible_version?(production_name, required_version)
24
+ @incompatible_version_response = nil
25
+ @main_thread = Thread.current
26
+ load_incompatible_version_scene(production_name, required_version)
27
+ while @incompatible_version_response == nil
28
+ Thread.stop
29
+ end
30
+ return @incompatible_version_response
31
+ end
32
+
33
+ def load_incompatible_version_scene(production_name, required_version)
34
+ if !theater["Incompatible Version"]
35
+ @incompatible_version_stage = theater.add_stage("Incompatible Version", :location => [:center, :center], :size => [400, :auto],
36
+ :background_color => :white, :framed => false, :always_on_top => true, :vital => false)
37
+ end
38
+ producer.open_scene("incompatible_version", @incompatible_version_stage, :instance_variables => { :production_name => production_name, :required_version => required_version })
39
+ end
40
+
41
+ def alert(message)
42
+ @alert_monitor = @monitor.new_cond
43
+ load_alert_scene(message)
44
+ @monitor.synchronize{ @alert_monitor.wait }
45
+ @alert_stage.close
46
+ return @alert_response
47
+ end
48
+
49
+ def process_alert_response(response)
50
+ @alert_response = response
51
+ @monitor.synchronize{ @alert_monitor.signal } if @alert_monitor
52
+ end
53
+
54
+ def load_alert_scene(message)
55
+ if !theater["Alert"]
56
+ @alert_stage = theater.add_stage("Alert", :location => [:center, :center], :size => [400, :auto],
57
+ :background_color => :white, :framed => false, :always_on_top => true, :vital => false)
58
+ end
59
+ producer.open_scene("alert", @alert_stage, :instance_variables => { :message => message })
60
+ end
61
+
62
+ end
@@ -0,0 +1,12 @@
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 :incompatible_version
6
+ # location :center, :center
7
+ # size 400, :auto
8
+ # background_color "#fff"
9
+ ## background_color :transparent
10
+ # framed false
11
+ # always_on_top true
12
+ #end
@@ -0,0 +1,53 @@
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
+ title {
5
+ width "100%"
6
+ font_size 30
7
+ font_face "Arial Rounded MT Bold"
8
+ text_color :white
9
+ horizontal_alignment :center
10
+ bottom_padding 10
11
+ }
12
+
13
+ label {
14
+ width "50%"
15
+ font_size 12
16
+ font_face :arial
17
+ font_style :plain
18
+ text_color "#363636"
19
+ horizontal_alignment :right
20
+ right_padding 5
21
+ }
22
+
23
+ bold_label {
24
+ width "50%"
25
+ min_height 1
26
+ font_size 12
27
+ font_face :arial
28
+ font_style :bold
29
+ text_color "#363636"
30
+ horizontal_alignment :left
31
+ left_padding 5
32
+ }
33
+
34
+ advise {
35
+ width "100%"
36
+ font_size 12
37
+ font_face :arial
38
+ font_style :plain
39
+ text_color "#363636"
40
+ horizontal_alignment :left
41
+ top_padding 10
42
+ }
43
+
44
+ buttons {
45
+ width "100%"
46
+ padding 5
47
+ horizontal_alignment :center
48
+ top_padding 20
49
+ }
50
+
51
+ button {
52
+ # background_color "#bad452"
53
+ }
@@ -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 Limelight
5
+ ButtonGroupCache = UI::ButtonGroupCache #:nodoc:
6
+ class ButtonGroupCache #:nodoc:
7
+ def [](key)
8
+ return self.get(key)
9
+ end
10
+ end
11
+ end