jrubyfx 1.0.0-java → 1.1.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.
@@ -57,8 +57,255 @@ module JRubyFX
57
57
 
58
58
  # The below lines are generated by `rake reflect`. Do not edit.
59
59
 
60
- java_import 'javafx.animation.Animation','javafx.animation.AnimationTimer','javafx.animation.FadeTransition','javafx.animation.FillTransition','javafx.animation.Interpolator','javafx.animation.KeyFrame','javafx.animation.KeyValue','javafx.animation.ParallelTransition','javafx.animation.PathTransition','javafx.animation.PauseTransition','javafx.animation.RotateTransition','javafx.animation.ScaleTransition','javafx.animation.SequentialTransition','javafx.animation.StrokeTransition','javafx.animation.Timeline','javafx.animation.Transition','javafx.animation.TranslateTransition','javafx.application.Platform','javafx.beans.property.SimpleBooleanProperty','javafx.beans.property.SimpleDoubleProperty','javafx.beans.property.SimpleFloatProperty','javafx.beans.property.SimpleIntegerProperty','javafx.beans.property.SimpleListProperty','javafx.beans.property.SimpleLongProperty','javafx.beans.property.SimpleMapProperty','javafx.beans.property.SimpleObjectProperty','javafx.beans.property.SimpleSetProperty','javafx.beans.property.SimpleStringProperty','javafx.beans.value.ChangeListener','javafx.collections.FXCollections','javafx.event.Event','javafx.event.ActionEvent','javafx.event.EventHandler','javafx.fxml.Initializable','javafx.fxml.LoadException','javafx.geometry.HorizontalDirection','javafx.geometry.HPos','javafx.geometry.Insets','javafx.geometry.Orientation','javafx.geometry.Pos','javafx.geometry.Rectangle2D','javafx.geometry.Side','javafx.geometry.VerticalDirection','javafx.geometry.VPos','javafx.scene.Group','javafx.scene.Node','javafx.scene.Parent','javafx.scene.Scene','javafx.scene.canvas.Canvas','javafx.scene.chart.AreaChart','javafx.scene.chart.Axis','javafx.scene.chart.BarChart','javafx.scene.chart.BubbleChart','javafx.scene.chart.CategoryAxis','javafx.scene.chart.Chart','javafx.scene.chart.LineChart','javafx.scene.chart.NumberAxis','javafx.scene.chart.PieChart','javafx.scene.chart.ScatterChart','javafx.scene.chart.StackedAreaChart','javafx.scene.chart.StackedBarChart','javafx.scene.chart.ValueAxis','javafx.scene.chart.XYChart','javafx.scene.control.Accordion','javafx.scene.control.Button','javafx.scene.control.Cell','javafx.scene.control.CheckBox','javafx.scene.control.CheckBoxTreeItem','javafx.scene.control.CheckMenuItem','javafx.scene.control.ChoiceBox','javafx.scene.control.ColorPicker','javafx.scene.control.ComboBox','javafx.scene.control.ContextMenu','javafx.scene.control.Hyperlink','javafx.scene.control.Label','javafx.scene.control.ListCell','javafx.scene.control.ListView','javafx.scene.control.Menu','javafx.scene.control.MenuBar','javafx.scene.control.MenuButton','javafx.scene.control.MenuItem','javafx.scene.control.Pagination','javafx.scene.control.PasswordField','javafx.scene.control.PopupControl','javafx.scene.control.ProgressBar','javafx.scene.control.ProgressIndicator','javafx.scene.control.RadioButton','javafx.scene.control.RadioMenuItem','javafx.scene.control.ScrollBar','javafx.scene.control.ScrollPane','javafx.scene.control.Separator','javafx.scene.control.SeparatorMenuItem','javafx.scene.control.Slider','javafx.scene.control.SplitMenuButton','javafx.scene.control.SplitPane','javafx.scene.control.Tab','javafx.scene.control.TableView','javafx.scene.control.TableCell','javafx.scene.control.TableColumn','javafx.scene.control.TabPane','javafx.scene.control.TextArea','javafx.scene.control.TextField','javafx.scene.control.TitledPane','javafx.scene.control.ToggleButton','javafx.scene.control.ToggleGroup','javafx.scene.control.ToolBar','javafx.scene.control.Tooltip','javafx.scene.control.TreeCell','javafx.scene.control.TreeItem','javafx.scene.control.TreeView','javafx.scene.control.ContentDisplay','javafx.scene.control.OverrunStyle','javafx.scene.control.SelectionMode','javafx.scene.effect.Blend','javafx.scene.effect.BlendMode','javafx.scene.effect.Bloom','javafx.scene.effect.BlurType','javafx.scene.effect.BoxBlur','javafx.scene.effect.ColorAdjust','javafx.scene.effect.ColorInput','javafx.scene.effect.DisplacementMap','javafx.scene.effect.DropShadow','javafx.scene.effect.GaussianBlur','javafx.scene.effect.Glow','javafx.scene.effect.ImageInput','javafx.scene.effect.InnerShadow','javafx.scene.effect.Lighting','javafx.scene.effect.MotionBlur','javafx.scene.effect.PerspectiveTransform','javafx.scene.effect.Reflection','javafx.scene.effect.SepiaTone','javafx.scene.effect.Shadow','javafx.scene.image.Image','javafx.scene.image.ImageView','javafx.scene.image.PixelReader','javafx.scene.image.PixelWriter','javafx.scene.input.Clipboard','javafx.scene.input.ClipboardContent','javafx.scene.input.ContextMenuEvent','javafx.scene.input.DragEvent','javafx.scene.input.GestureEvent','javafx.scene.input.InputEvent','javafx.scene.input.InputMethodEvent','javafx.scene.input.KeyCode','javafx.scene.input.KeyEvent','javafx.scene.input.Mnemonic','javafx.scene.input.MouseDragEvent','javafx.scene.input.MouseEvent','javafx.scene.input.RotateEvent','javafx.scene.input.ScrollEvent','javafx.scene.input.SwipeEvent','javafx.scene.input.TouchEvent','javafx.scene.input.TransferMode','javafx.scene.input.ZoomEvent','javafx.scene.layout.AnchorPane','javafx.scene.layout.BorderPane','javafx.scene.layout.ColumnConstraints','javafx.scene.layout.FlowPane','javafx.scene.layout.GridPane','javafx.scene.layout.HBox','javafx.scene.layout.Pane','javafx.scene.layout.Priority','javafx.scene.layout.RowConstraints','javafx.scene.layout.StackPane','javafx.scene.layout.TilePane','javafx.scene.layout.VBox','javafx.scene.media.AudioClip','javafx.scene.media.AudioEqualizer','javafx.scene.media.AudioTrack','javafx.scene.media.EqualizerBand','javafx.scene.media.Media','javafx.scene.media.MediaException','javafx.scene.media.MediaErrorEvent','javafx.scene.media.MediaMarkerEvent','javafx.scene.media.MediaPlayer','javafx.scene.media.MediaView','javafx.scene.media.VideoTrack','javafx.scene.paint.Color','javafx.scene.paint.CycleMethod','javafx.scene.paint.ImagePattern','javafx.scene.paint.LinearGradient','javafx.scene.paint.Paint','javafx.scene.paint.RadialGradient','javafx.scene.paint.Stop','javafx.scene.shape.Arc','javafx.scene.shape.ArcTo','javafx.scene.shape.ArcType','javafx.scene.shape.Circle','javafx.scene.shape.ClosePath','javafx.scene.shape.CubicCurve','javafx.scene.shape.CubicCurveTo','javafx.scene.shape.Ellipse','javafx.scene.shape.FillRule','javafx.scene.shape.HLineTo','javafx.scene.shape.Line','javafx.scene.shape.LineTo','javafx.scene.shape.MoveTo','javafx.scene.shape.Path','javafx.scene.shape.PathElement','javafx.scene.shape.Polygon','javafx.scene.shape.Polyline','javafx.scene.shape.QuadCurve','javafx.scene.shape.QuadCurveTo','javafx.scene.shape.Rectangle','javafx.scene.shape.Shape','javafx.scene.shape.StrokeLineCap','javafx.scene.shape.StrokeLineJoin','javafx.scene.shape.StrokeType','javafx.scene.shape.SVGPath','javafx.scene.shape.VLineTo','javafx.scene.text.Font','javafx.scene.text.FontPosture','javafx.scene.text.FontSmoothingType','javafx.scene.text.FontWeight','javafx.scene.text.Text','javafx.scene.text.TextAlignment','javafx.scene.text.TextBoundsType','javafx.scene.transform.Affine','javafx.scene.transform.Rotate','javafx.scene.transform.Scale','javafx.scene.transform.Shear','javafx.scene.transform.Translate','javafx.scene.web.WebView','javafx.scene.web.HTMLEditor','javafx.stage.DirectoryChooser','javafx.stage.FileChooser','javafx.stage.Modality','javafx.stage.Popup','javafx.stage.PopupWindow','javafx.stage.Screen','javafx.stage.Stage','javafx.stage.StageStyle','javafx.stage.Window','javafx.stage.WindowEvent','javafx.util.Duration'
61
- java_import 'java.lang.Void'
60
+ def const_missing(c)
61
+ if LOCAL_NAME_MAP.has_key? c
62
+ java_import(LOCAL_NAME_MAP[c])[0]
63
+ else
64
+ super
65
+ end
66
+ end
67
+
68
+ LOCAL_NAME_MAP = {
69
+ :Animation => "javafx.animation.Animation",
70
+ :AnimationTimer => "javafx.animation.AnimationTimer",
71
+ :FadeTransition => "javafx.animation.FadeTransition",
72
+ :FillTransition => "javafx.animation.FillTransition",
73
+ :Interpolator => "javafx.animation.Interpolator",
74
+ :KeyFrame => "javafx.animation.KeyFrame",
75
+ :KeyValue => "javafx.animation.KeyValue",
76
+ :ParallelTransition => "javafx.animation.ParallelTransition",
77
+ :PathTransition => "javafx.animation.PathTransition",
78
+ :PauseTransition => "javafx.animation.PauseTransition",
79
+ :RotateTransition => "javafx.animation.RotateTransition",
80
+ :ScaleTransition => "javafx.animation.ScaleTransition",
81
+ :SequentialTransition => "javafx.animation.SequentialTransition",
82
+ :StrokeTransition => "javafx.animation.StrokeTransition",
83
+ :Timeline => "javafx.animation.Timeline",
84
+ :Transition => "javafx.animation.Transition",
85
+ :TranslateTransition => "javafx.animation.TranslateTransition",
86
+ :Platform => "javafx.application.Platform",
87
+ :SimpleBooleanProperty => "javafx.beans.property.SimpleBooleanProperty",
88
+ :SimpleDoubleProperty => "javafx.beans.property.SimpleDoubleProperty",
89
+ :SimpleFloatProperty => "javafx.beans.property.SimpleFloatProperty",
90
+ :SimpleIntegerProperty => "javafx.beans.property.SimpleIntegerProperty",
91
+ :SimpleListProperty => "javafx.beans.property.SimpleListProperty",
92
+ :SimpleLongProperty => "javafx.beans.property.SimpleLongProperty",
93
+ :SimpleMapProperty => "javafx.beans.property.SimpleMapProperty",
94
+ :SimpleObjectProperty => "javafx.beans.property.SimpleObjectProperty",
95
+ :SimpleSetProperty => "javafx.beans.property.SimpleSetProperty",
96
+ :SimpleStringProperty => "javafx.beans.property.SimpleStringProperty",
97
+ :ChangeListener => "javafx.beans.value.ChangeListener",
98
+ :FXCollections => "javafx.collections.FXCollections",
99
+ :Worker => "javafx.concurrent.Worker",
100
+ :Task => "javafx.concurrent.Task",
101
+ :Service => "javafx.concurrent.Service",
102
+ :Event => "javafx.event.Event",
103
+ :ActionEvent => "javafx.event.ActionEvent",
104
+ :EventHandler => "javafx.event.EventHandler",
105
+ :Initializable => "javafx.fxml.Initializable",
106
+ :LoadException => "javafx.fxml.LoadException",
107
+ :HorizontalDirection => "javafx.geometry.HorizontalDirection",
108
+ :HPos => "javafx.geometry.HPos",
109
+ :Insets => "javafx.geometry.Insets",
110
+ :Orientation => "javafx.geometry.Orientation",
111
+ :Pos => "javafx.geometry.Pos",
112
+ :Rectangle2D => "javafx.geometry.Rectangle2D",
113
+ :Side => "javafx.geometry.Side",
114
+ :VerticalDirection => "javafx.geometry.VerticalDirection",
115
+ :VPos => "javafx.geometry.VPos",
116
+ :Group => "javafx.scene.Group",
117
+ :Node => "javafx.scene.Node",
118
+ :Parent => "javafx.scene.Parent",
119
+ :Scene => "javafx.scene.Scene",
120
+ :Canvas => "javafx.scene.canvas.Canvas",
121
+ :AreaChart => "javafx.scene.chart.AreaChart",
122
+ :Axis => "javafx.scene.chart.Axis",
123
+ :BarChart => "javafx.scene.chart.BarChart",
124
+ :BubbleChart => "javafx.scene.chart.BubbleChart",
125
+ :CategoryAxis => "javafx.scene.chart.CategoryAxis",
126
+ :Chart => "javafx.scene.chart.Chart",
127
+ :LineChart => "javafx.scene.chart.LineChart",
128
+ :NumberAxis => "javafx.scene.chart.NumberAxis",
129
+ :PieChart => "javafx.scene.chart.PieChart",
130
+ :ScatterChart => "javafx.scene.chart.ScatterChart",
131
+ :StackedAreaChart => "javafx.scene.chart.StackedAreaChart",
132
+ :StackedBarChart => "javafx.scene.chart.StackedBarChart",
133
+ :ValueAxis => "javafx.scene.chart.ValueAxis",
134
+ :XYChart => "javafx.scene.chart.XYChart",
135
+ :Accordion => "javafx.scene.control.Accordion",
136
+ :Button => "javafx.scene.control.Button",
137
+ :Cell => "javafx.scene.control.Cell",
138
+ :CheckBox => "javafx.scene.control.CheckBox",
139
+ :CheckBoxTreeItem => "javafx.scene.control.CheckBoxTreeItem",
140
+ :CheckMenuItem => "javafx.scene.control.CheckMenuItem",
141
+ :ChoiceBox => "javafx.scene.control.ChoiceBox",
142
+ :ColorPicker => "javafx.scene.control.ColorPicker",
143
+ :ComboBox => "javafx.scene.control.ComboBox",
144
+ :ContextMenu => "javafx.scene.control.ContextMenu",
145
+ :Hyperlink => "javafx.scene.control.Hyperlink",
146
+ :Label => "javafx.scene.control.Label",
147
+ :ListCell => "javafx.scene.control.ListCell",
148
+ :ListView => "javafx.scene.control.ListView",
149
+ :Menu => "javafx.scene.control.Menu",
150
+ :MenuBar => "javafx.scene.control.MenuBar",
151
+ :MenuButton => "javafx.scene.control.MenuButton",
152
+ :MenuItem => "javafx.scene.control.MenuItem",
153
+ :Pagination => "javafx.scene.control.Pagination",
154
+ :PasswordField => "javafx.scene.control.PasswordField",
155
+ :PopupControl => "javafx.scene.control.PopupControl",
156
+ :ProgressBar => "javafx.scene.control.ProgressBar",
157
+ :ProgressIndicator => "javafx.scene.control.ProgressIndicator",
158
+ :RadioButton => "javafx.scene.control.RadioButton",
159
+ :RadioMenuItem => "javafx.scene.control.RadioMenuItem",
160
+ :ScrollBar => "javafx.scene.control.ScrollBar",
161
+ :ScrollPane => "javafx.scene.control.ScrollPane",
162
+ :Separator => "javafx.scene.control.Separator",
163
+ :SeparatorMenuItem => "javafx.scene.control.SeparatorMenuItem",
164
+ :Slider => "javafx.scene.control.Slider",
165
+ :SplitMenuButton => "javafx.scene.control.SplitMenuButton",
166
+ :SplitPane => "javafx.scene.control.SplitPane",
167
+ :Tab => "javafx.scene.control.Tab",
168
+ :TableView => "javafx.scene.control.TableView",
169
+ :TableCell => "javafx.scene.control.TableCell",
170
+ :TableColumn => "javafx.scene.control.TableColumn",
171
+ :TabPane => "javafx.scene.control.TabPane",
172
+ :TextArea => "javafx.scene.control.TextArea",
173
+ :TextField => "javafx.scene.control.TextField",
174
+ :TitledPane => "javafx.scene.control.TitledPane",
175
+ :ToggleButton => "javafx.scene.control.ToggleButton",
176
+ :ToggleGroup => "javafx.scene.control.ToggleGroup",
177
+ :ToolBar => "javafx.scene.control.ToolBar",
178
+ :Tooltip => "javafx.scene.control.Tooltip",
179
+ :TreeCell => "javafx.scene.control.TreeCell",
180
+ :TreeItem => "javafx.scene.control.TreeItem",
181
+ :TreeView => "javafx.scene.control.TreeView",
182
+ :ContentDisplay => "javafx.scene.control.ContentDisplay",
183
+ :OverrunStyle => "javafx.scene.control.OverrunStyle",
184
+ :SelectionMode => "javafx.scene.control.SelectionMode",
185
+ :Blend => "javafx.scene.effect.Blend",
186
+ :BlendMode => "javafx.scene.effect.BlendMode",
187
+ :Bloom => "javafx.scene.effect.Bloom",
188
+ :BlurType => "javafx.scene.effect.BlurType",
189
+ :BoxBlur => "javafx.scene.effect.BoxBlur",
190
+ :ColorAdjust => "javafx.scene.effect.ColorAdjust",
191
+ :ColorInput => "javafx.scene.effect.ColorInput",
192
+ :DisplacementMap => "javafx.scene.effect.DisplacementMap",
193
+ :DropShadow => "javafx.scene.effect.DropShadow",
194
+ :GaussianBlur => "javafx.scene.effect.GaussianBlur",
195
+ :Glow => "javafx.scene.effect.Glow",
196
+ :ImageInput => "javafx.scene.effect.ImageInput",
197
+ :InnerShadow => "javafx.scene.effect.InnerShadow",
198
+ :Lighting => "javafx.scene.effect.Lighting",
199
+ :MotionBlur => "javafx.scene.effect.MotionBlur",
200
+ :PerspectiveTransform => "javafx.scene.effect.PerspectiveTransform",
201
+ :Reflection => "javafx.scene.effect.Reflection",
202
+ :SepiaTone => "javafx.scene.effect.SepiaTone",
203
+ :Shadow => "javafx.scene.effect.Shadow",
204
+ :Image => "javafx.scene.image.Image",
205
+ :ImageView => "javafx.scene.image.ImageView",
206
+ :PixelReader => "javafx.scene.image.PixelReader",
207
+ :PixelWriter => "javafx.scene.image.PixelWriter",
208
+ :Clipboard => "javafx.scene.input.Clipboard",
209
+ :ClipboardContent => "javafx.scene.input.ClipboardContent",
210
+ :ContextMenuEvent => "javafx.scene.input.ContextMenuEvent",
211
+ :DragEvent => "javafx.scene.input.DragEvent",
212
+ :GestureEvent => "javafx.scene.input.GestureEvent",
213
+ :InputEvent => "javafx.scene.input.InputEvent",
214
+ :InputMethodEvent => "javafx.scene.input.InputMethodEvent",
215
+ :KeyCode => "javafx.scene.input.KeyCode",
216
+ :KeyEvent => "javafx.scene.input.KeyEvent",
217
+ :Mnemonic => "javafx.scene.input.Mnemonic",
218
+ :MouseDragEvent => "javafx.scene.input.MouseDragEvent",
219
+ :MouseEvent => "javafx.scene.input.MouseEvent",
220
+ :RotateEvent => "javafx.scene.input.RotateEvent",
221
+ :ScrollEvent => "javafx.scene.input.ScrollEvent",
222
+ :SwipeEvent => "javafx.scene.input.SwipeEvent",
223
+ :TouchEvent => "javafx.scene.input.TouchEvent",
224
+ :TransferMode => "javafx.scene.input.TransferMode",
225
+ :ZoomEvent => "javafx.scene.input.ZoomEvent",
226
+ :AnchorPane => "javafx.scene.layout.AnchorPane",
227
+ :BorderPane => "javafx.scene.layout.BorderPane",
228
+ :ColumnConstraints => "javafx.scene.layout.ColumnConstraints",
229
+ :FlowPane => "javafx.scene.layout.FlowPane",
230
+ :GridPane => "javafx.scene.layout.GridPane",
231
+ :HBox => "javafx.scene.layout.HBox",
232
+ :Pane => "javafx.scene.layout.Pane",
233
+ :Priority => "javafx.scene.layout.Priority",
234
+ :RowConstraints => "javafx.scene.layout.RowConstraints",
235
+ :StackPane => "javafx.scene.layout.StackPane",
236
+ :TilePane => "javafx.scene.layout.TilePane",
237
+ :VBox => "javafx.scene.layout.VBox",
238
+ :AudioClip => "javafx.scene.media.AudioClip",
239
+ :AudioEqualizer => "javafx.scene.media.AudioEqualizer",
240
+ :AudioTrack => "javafx.scene.media.AudioTrack",
241
+ :EqualizerBand => "javafx.scene.media.EqualizerBand",
242
+ :Media => "javafx.scene.media.Media",
243
+ :MediaException => "javafx.scene.media.MediaException",
244
+ :MediaErrorEvent => "javafx.scene.media.MediaErrorEvent",
245
+ :MediaMarkerEvent => "javafx.scene.media.MediaMarkerEvent",
246
+ :MediaPlayer => "javafx.scene.media.MediaPlayer",
247
+ :MediaView => "javafx.scene.media.MediaView",
248
+ :VideoTrack => "javafx.scene.media.VideoTrack",
249
+ :Color => "javafx.scene.paint.Color",
250
+ :CycleMethod => "javafx.scene.paint.CycleMethod",
251
+ :ImagePattern => "javafx.scene.paint.ImagePattern",
252
+ :LinearGradient => "javafx.scene.paint.LinearGradient",
253
+ :Paint => "javafx.scene.paint.Paint",
254
+ :RadialGradient => "javafx.scene.paint.RadialGradient",
255
+ :Stop => "javafx.scene.paint.Stop",
256
+ :Arc => "javafx.scene.shape.Arc",
257
+ :ArcTo => "javafx.scene.shape.ArcTo",
258
+ :ArcType => "javafx.scene.shape.ArcType",
259
+ :Circle => "javafx.scene.shape.Circle",
260
+ :ClosePath => "javafx.scene.shape.ClosePath",
261
+ :CubicCurve => "javafx.scene.shape.CubicCurve",
262
+ :CubicCurveTo => "javafx.scene.shape.CubicCurveTo",
263
+ :Ellipse => "javafx.scene.shape.Ellipse",
264
+ :FillRule => "javafx.scene.shape.FillRule",
265
+ :HLineTo => "javafx.scene.shape.HLineTo",
266
+ :Line => "javafx.scene.shape.Line",
267
+ :LineTo => "javafx.scene.shape.LineTo",
268
+ :MoveTo => "javafx.scene.shape.MoveTo",
269
+ :Path => "javafx.scene.shape.Path",
270
+ :PathElement => "javafx.scene.shape.PathElement",
271
+ :Polygon => "javafx.scene.shape.Polygon",
272
+ :Polyline => "javafx.scene.shape.Polyline",
273
+ :QuadCurve => "javafx.scene.shape.QuadCurve",
274
+ :QuadCurveTo => "javafx.scene.shape.QuadCurveTo",
275
+ :Rectangle => "javafx.scene.shape.Rectangle",
276
+ :Shape => "javafx.scene.shape.Shape",
277
+ :StrokeLineCap => "javafx.scene.shape.StrokeLineCap",
278
+ :StrokeLineJoin => "javafx.scene.shape.StrokeLineJoin",
279
+ :StrokeType => "javafx.scene.shape.StrokeType",
280
+ :SVGPath => "javafx.scene.shape.SVGPath",
281
+ :VLineTo => "javafx.scene.shape.VLineTo",
282
+ :Font => "javafx.scene.text.Font",
283
+ :FontPosture => "javafx.scene.text.FontPosture",
284
+ :FontSmoothingType => "javafx.scene.text.FontSmoothingType",
285
+ :FontWeight => "javafx.scene.text.FontWeight",
286
+ :Text => "javafx.scene.text.Text",
287
+ :TextAlignment => "javafx.scene.text.TextAlignment",
288
+ :TextBoundsType => "javafx.scene.text.TextBoundsType",
289
+ :Affine => "javafx.scene.transform.Affine",
290
+ :Rotate => "javafx.scene.transform.Rotate",
291
+ :Scale => "javafx.scene.transform.Scale",
292
+ :Shear => "javafx.scene.transform.Shear",
293
+ :Translate => "javafx.scene.transform.Translate",
294
+ :WebView => "javafx.scene.web.WebView",
295
+ :HTMLEditor => "javafx.scene.web.HTMLEditor",
296
+ :DirectoryChooser => "javafx.stage.DirectoryChooser",
297
+ :FileChooser => "javafx.stage.FileChooser",
298
+ :Modality => "javafx.stage.Modality",
299
+ :Popup => "javafx.stage.Popup",
300
+ :PopupWindow => "javafx.stage.PopupWindow",
301
+ :Screen => "javafx.stage.Screen",
302
+ :Stage => "javafx.stage.Stage",
303
+ :StageStyle => "javafx.stage.StageStyle",
304
+ :Window => "javafx.stage.Window",
305
+ :WindowEvent => "javafx.stage.WindowEvent",
306
+ :Duration => "javafx.util.Duration"
307
+ }
308
+ java_import 'java.lang.Void'
62
309
  end
63
310
  end
64
311
 
@@ -23,43 +23,44 @@ limitations under the License.
23
23
  module JavaFXImpl #:nodoc: all
24
24
  java_import 'com.sun.javafx.application.PlatformImpl'
25
25
  java_import 'javafx.stage.Stage'
26
-
26
+
27
27
  #JRuby, you make me have to create real classes!
28
28
  class FinisherInterface
29
29
  include PlatformImpl::FinishListener
30
-
30
+
31
31
  def initialize(&block)
32
32
  @exitBlock = block
33
33
  end
34
-
34
+
35
35
  def idle(someBoolean)
36
36
  @exitBlock.call
37
37
  end
38
-
38
+
39
39
  def exitCalled()
40
40
  @exitBlock.call
41
41
  end
42
42
  end
43
-
43
+
44
44
  class Launcher
45
45
  java_import 'java.util.concurrent.atomic.AtomicBoolean'
46
46
  java_import 'java.util.concurrent.CountDownLatch'
47
47
  java_import 'java.lang.IllegalStateException'
48
-
48
+ java_import 'com.sun.javafx.application.ParametersImpl'
49
+
49
50
  @@launchCalled = AtomicBoolean.new(false) # Atomic boolean go boom on bikini
50
-
51
- def self.launch_app(classObj, args=nil)
51
+
52
+ def self.launch_app(application_class, *args)
52
53
  #prevent multiple!
53
54
  if @@launchCalled.getAndSet(true)
54
55
  throw IllegalStateException.new "Application launch must not be called more than once"
55
56
  end
56
-
57
+
57
58
  begin
58
59
  #create a java thread, and run the real worker, and wait till it exits
59
60
  count_down_latch = CountDownLatch.new(1)
60
61
  thread = Java.java.lang.Thread.new do
61
62
  begin
62
- launch_app_from_thread(classObj)
63
+ launch_app_from_thread(application_class, args)
63
64
  rescue => ex
64
65
  puts "Exception starting app:"
65
66
  p ex
@@ -76,48 +77,52 @@ module JavaFXImpl #:nodoc: all
76
77
  puts ex.backtrace
77
78
  end
78
79
  end
79
-
80
- def self.launch_app_from_thread(classO)
80
+
81
+ def self.launch_app_from_thread(application_class, args)
81
82
  #platformImpl startup?
82
- finished_latch = CountDownLatch.new(1)
83
- PlatformImpl.startup do
84
- finished_latch.countDown
83
+ CountDownLatch.new(1).tap do |latch|
84
+ PlatformImpl.startup { latch.countDown }
85
+ latch.await
85
86
  end
86
- finished_latch.await
87
-
87
+
88
88
  begin
89
- launch_app_after_platform(classO) #try to launch the app
89
+ launch_app_after_platform(application_class, args)
90
90
  rescue => ex
91
91
  puts "Error running Application:"
92
92
  p ex
93
93
  puts ex.backtrace
94
94
  end
95
-
96
- #kill the toolkit and exit
97
- PlatformImpl.tkExit
95
+
96
+ PlatformImpl.tkExit # kill the toolkit and exit
98
97
  end
99
-
100
- def self.launch_app_after_platform(classO)
98
+
99
+ def self.launch_app_after_platform(application_class, args)
101
100
  #listeners - for the end
102
101
  finished_latch = CountDownLatch.new(1)
103
-
102
+
104
103
  # register for shutdown
105
104
  PlatformImpl.addListener(FinisherInterface.new {
106
105
  # this is called when the stage exits
107
106
  finished_latch.countDown
108
107
  })
109
-
110
- app = classO.new
111
- # do we need to register the params if there are none? - apparently not
112
- app.init()
113
-
108
+
109
+ application = application_class.new
110
+
111
+ unless application.is_a? Java::javafx.application.Application
112
+ raise "Invalid type: cannot launch non-Application"
113
+ end
114
+
115
+ ParametersImpl.registerParameters(application, ParametersImpl.new(args))
116
+
117
+ application.init
118
+
114
119
  error = false
115
120
  #RUN! and hope it works!
116
121
  PlatformImpl.runAndWait do
117
122
  begin
118
123
  stage = Stage.new
119
124
  stage.impl_setPrimary(true)
120
- app.start(stage)
125
+ application.start(stage)
121
126
  # no countDown here because its up top... yes I know
122
127
  rescue => ex
123
128
  puts "Exception running Application:"
@@ -127,12 +132,12 @@ module JavaFXImpl #:nodoc: all
127
132
  finished_latch.countDown # but if we fail, we need to unlatch it
128
133
  end
129
134
  end
130
-
135
+
131
136
  #wait for stage exit
132
137
  finished_latch.await
133
-
138
+
134
139
  # call stop on the interface
135
- app.stop() unless error
140
+ application.stop unless error
136
141
  end
137
142
  end
138
143
  end
@@ -28,7 +28,7 @@ module JRubyFX
28
28
  # with(obj, hash) => obj
29
29
  # with(obj) { block } => obj
30
30
  # with(obj, hash) { block }=> obj
31
- #
31
+ #
32
32
  # Set properties (e.g. setters) on the passed in object plus also invoke
33
33
  # any block passed against this object.
34
34
  # === Examples
@@ -39,6 +39,7 @@ module JRubyFX
39
39
  # end
40
40
  #
41
41
  def with(obj, properties = {}, &block)
42
+ puts "Warning: calling 'with' on a nil object from #{caller[0]}" if obj.nil?
42
43
  populate_properties(obj, properties)
43
44
 
44
45
  if block_given?
@@ -47,18 +48,18 @@ module JRubyFX
47
48
  obj.extend(JRubyFX)
48
49
  obj.instance_eval(&block)
49
50
  end
50
-
51
+
51
52
  obj
52
53
  end
53
54
 
54
55
  ##
55
56
  # call-seq:
56
57
  # run_later { block }
57
- #
58
+ #
58
59
  # Convenience method so anything can safely schedule to run on JavaFX
59
60
  # main thread.
60
61
  def run_later(&block)
61
- Platform.run_later &block
62
+ Java::javafx.application.Platform.run_later &block
62
63
  end
63
64
 
64
65
  ##
@@ -67,11 +68,11 @@ module JRubyFX
67
68
  # build(class, hash) => obj
68
69
  # build(class) { block } => obj
69
70
  # build(class, hash) { block } => obj
70
- #
71
+ #
71
72
  # Create "build" a new JavaFX instance with the provided class and
72
73
  # set properties (e.g. setters) on that new instance plus also invoke
73
74
  # any block passed against this new instance. This also can build a proc
74
- # or lambda form in which case the return value of the block will be what
75
+ # or lambda form in which case the return value of the block will be what
75
76
  # is used to set the additional properties on.
76
77
  # === Examples
77
78
  #
@@ -93,11 +94,12 @@ module JRubyFX
93
94
 
94
95
  with(obj, properties, &block)
95
96
  end
96
-
97
+
97
98
  def self.included(mod)
98
99
  mod.extend(JRubyFX::FXMLClassUtils)
100
+ mod.extend(JRubyFX::FXImports)
99
101
  end
100
-
102
+
101
103
  module FXMLClassUtils
102
104
  def fxml_raw_accessor(symbol_name, type=java::lang::String)
103
105
  # TODO: RDoc
@@ -129,6 +131,7 @@ module JRubyFX
129
131
  # TODO: somebody clean this up
130
132
  # TODO: _reader and _writer ? maybe? not?
131
133
  pname = symbol_name.id2name + "Property"
134
+ raise "#{ptype} does not inherit from Property." unless ptype.ancestors.include? Java::javafx.beans.property.Property
132
135
  unless type
133
136
  type = ptype.java_class.java_instance_methods.find_all{|x|x.name == "getValue"}.map{|x|x.return_type}.find_all{|x|x != java.lang.Object.java_class}
134
137
  if type.length != 1