wxruby 1.9.5-x86-linux → 1.9.6-x86-linux
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/wx/classes/acceleratortable.rb +28 -0
- data/lib/wx/classes/animation.rb +18 -0
- data/lib/wx/classes/bitmap.rb +5 -0
- data/lib/wx/classes/busycursor.rb +12 -0
- data/lib/wx/classes/evthandler.rb +36 -21
- data/lib/wx/classes/functions.rb +44 -0
- data/lib/wx/classes/grid.rb +16 -7
- data/lib/wx/classes/htmlwindow.rb +8 -0
- data/lib/wx/classes/icon.rb +7 -0
- data/lib/wx/classes/iconbundle.rb +3 -0
- data/lib/wx/classes/image.rb +17 -0
- data/lib/wx/classes/imagelist.rb +3 -0
- data/lib/wx/classes/toolbartool.rb +4 -0
- data/lib/wx/classes/xmlresource.rb +21 -0
- data/lib/wx/keyword_ctors.rb +9 -6
- data/lib/wx/keyword_defs.rb +7 -0
- data/lib/wx/version.rb +1 -1
- data/lib/wxruby2.so +0 -0
- data/samples/aui/aui.rb +6 -10
- data/samples/bigdemo/About.rbw +0 -0
- data/samples/bigdemo/ColorPanel.rbw +7 -9
- data/samples/bigdemo/GridSimple.rbw +7 -9
- data/samples/bigdemo/MDIDemo.rbw +7 -9
- data/samples/bigdemo/PopupMenu.rbw +7 -9
- data/samples/bigdemo/ShapedWindow.rbw +6 -10
- data/samples/bigdemo/Sizers.rbw +7 -9
- data/samples/bigdemo/bigdemo.rb +24 -25
- data/samples/bigdemo/demoTemplate.rbw +6 -10
- data/samples/bigdemo/run.rb +6 -10
- data/samples/bigdemo/utils.rb +0 -0
- data/samples/bigdemo/wxArtProvider.rbw +6 -10
- data/samples/bigdemo/wxBitmapButton.rbw +42 -41
- data/samples/bigdemo/wxButton.rbw +7 -9
- data/samples/bigdemo/wxCalendarCtrl.rbw +41 -53
- data/samples/bigdemo/wxCheckBox.rbw +7 -9
- data/samples/bigdemo/wxCheckListBox.rbw +7 -9
- data/samples/bigdemo/wxChoice.rbw +7 -9
- data/samples/bigdemo/wxChoicebook.rbw +7 -9
- data/samples/bigdemo/wxColourDialog.rbw +7 -10
- data/samples/bigdemo/wxComboBox.rbw +7 -9
- data/samples/bigdemo/wxCursor.rbw +6 -10
- data/samples/bigdemo/wxDialog.rbw +7 -9
- data/samples/bigdemo/wxDirDialog.rbw +7 -10
- data/samples/bigdemo/wxDragImage.rbw +6 -10
- data/samples/bigdemo/wxFileDialog.rbw +7 -9
- data/samples/bigdemo/wxFileDialog_Save.rbw +7 -10
- data/samples/bigdemo/wxFindReplaceDialog.rbw +7 -10
- data/samples/bigdemo/wxFontDialog.rbw +7 -10
- data/samples/bigdemo/wxFrame.rbw +7 -9
- data/samples/bigdemo/wxGauge.rbw +7 -9
- data/samples/bigdemo/wxGenericDirCtrl.rbw +6 -10
- data/samples/bigdemo/wxGrid.rbw +7 -9
- data/samples/bigdemo/wxHtmlHelpController.rbw +6 -11
- data/samples/bigdemo/wxListBox.rbw +7 -9
- data/samples/bigdemo/wxListCtrl_virtual.rbw +7 -9
- data/samples/bigdemo/wxMDIWindows.rbw +7 -9
- data/samples/bigdemo/wxMenu.rbw +7 -9
- data/samples/bigdemo/wxMessageDialog.rbw +7 -10
- data/samples/bigdemo/wxMiniFrame.rbw +6 -10
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +7 -9
- data/samples/bigdemo/wxNotebook.rbw +7 -9
- data/samples/bigdemo/wxProgressDialog.rbw +7 -9
- data/samples/bigdemo/wxRadioBox.rbw +7 -9
- data/samples/bigdemo/wxRadioButton.rbw +7 -9
- data/samples/bigdemo/wxSashWindow.rbw +6 -10
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +7 -9
- data/samples/bigdemo/wxScrolledWindow.rbw +7 -9
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +7 -9
- data/samples/bigdemo/wxSlider.rbw +7 -9
- data/samples/bigdemo/wxSpinButton.rbw +7 -9
- data/samples/bigdemo/wxSpinCtrl.rbw +7 -9
- data/samples/bigdemo/wxSplitterWindow.rbw +7 -9
- data/samples/bigdemo/wxStaticBitmap.rbw +7 -9
- data/samples/bigdemo/wxStaticText.rbw +7 -9
- data/samples/bigdemo/wxStatusBar.rbw +7 -9
- data/samples/bigdemo/wxTextCtrl.rbw +7 -9
- data/samples/bigdemo/wxTextEntryDialog.rbw +7 -10
- data/samples/bigdemo/wxToggleButton.rbw +7 -9
- data/samples/bigdemo/wxToolBar.rbw +7 -9
- data/samples/bigdemo/wxTreeCtrl.rbw +7 -9
- data/samples/calendar/calendar.rb +6 -10
- data/samples/caret/caret.rb +6 -10
- data/samples/controls/controls.rb +6 -10
- data/samples/controls/get_item_sample.rb +0 -0
- data/samples/dialogs/dialogs.rb +10 -11
- data/samples/drawing/graphics_drawing.rb +6 -7
- data/samples/drawing/images.rb +5 -10
- data/samples/drawing/paperclip.png +0 -0
- data/samples/etc/activation.rb +4 -10
- data/samples/etc/choice.rb +5 -10
- data/samples/etc/miniframe.rb +5 -10
- data/samples/etc/sash.rb +5 -10
- data/samples/etc/scrollwin.rb +4 -10
- data/samples/etc/system_settings.rb +4 -10
- data/samples/etc/threaded.rb +4 -10
- data/samples/etc/wizard.rb +5 -10
- data/samples/event/event.rb +3 -5
- data/samples/grid/grid.rb +5 -9
- data/samples/grid/gridtablebase.rb +134 -0
- data/samples/html/html.rb +4 -10
- data/samples/listbook/listbook.rb +4 -11
- data/samples/mdi/mdi.rb +5 -10
- data/samples/media/mediactrl.rb +4 -10
- data/samples/minimal/minimal.rb +18 -26
- data/samples/minimal/nothing.rb +5 -10
- data/samples/opengl/cube.rb +8 -14
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +0 -0
- data/samples/printing/printing.rb +5 -179
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +0 -0
- data/samples/text/scintilla.rb +5 -10
- data/samples/text/textctrl.rb +27 -38
- data/samples/text/unicode.rb +6 -2
- data/samples/treectrl/treectrl.rb +4 -10
- data/samples/xrc/xrc_sample.rb +6 -17
- metadata +98 -90
@@ -0,0 +1,28 @@
|
|
1
|
+
class Wx::AcceleratorTable
|
2
|
+
# Allow new to be called as []
|
3
|
+
class << self
|
4
|
+
alias :[] :new
|
5
|
+
end
|
6
|
+
|
7
|
+
# Allow initialize to be called with a splat-like list of arguments,
|
8
|
+
# and allow entries to be specified in terser form [mod, key, id]
|
9
|
+
# rather than full AcceleratorEntry.new call.
|
10
|
+
wx_init = self.instance_method(:initialize)
|
11
|
+
define_method(:initialize) do | *args |
|
12
|
+
# Test for old-style arg passing in a single array
|
13
|
+
if args.length == 1 and args.first.kind_of?(Array) and
|
14
|
+
args.first.all? { | e | e.kind_of?(Wx::AcceleratorEntry) }
|
15
|
+
args = args[0]
|
16
|
+
end
|
17
|
+
# Convert to array of AccEntries, to pass in as single array
|
18
|
+
args = args.map do | entry |
|
19
|
+
case entry
|
20
|
+
when Wx::AcceleratorEntry then entry
|
21
|
+
when Array then Wx::AcceleratorEntry.new(*entry)
|
22
|
+
else Kernel.raise ArgumentError,
|
23
|
+
"#{entry.inspect} is not a valid AcceleratorTable entry"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
wx_init.bind(self).call(args)
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class Wx::Animation < Wx::GDIObject
|
2
|
+
# Redefine the initialize method so it raises an exception if a
|
3
|
+
# non-existent file is given to the constructor; otherwise, wx Widgets
|
4
|
+
# just carries on with an empty bitmap, which may cause faults later
|
5
|
+
wx_init = self.instance_method(:initialize)
|
6
|
+
define_method(:initialize) do | *args |
|
7
|
+
if args[0].kind_of? String
|
8
|
+
if not File.exist?( File.expand_path(args[0]) )
|
9
|
+
Kernel.raise( ArgumentError,
|
10
|
+
"Animation file does not exist: #{args[0]}" )
|
11
|
+
end
|
12
|
+
res = wx_init.bind(self).call()
|
13
|
+
res.load_file(args[0], args[1] || Wx::ANIMATION_TYPE_ANY)
|
14
|
+
else
|
15
|
+
wx_init.bind(self).call(*args)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/wx/classes/bitmap.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
class Wx::Bitmap
|
2
|
+
# Constructor copying data from an image
|
3
|
+
def self.from_image(img, depth = -1)
|
4
|
+
new(img, depth)
|
5
|
+
end
|
6
|
+
|
2
7
|
# Redefine the initialize method so it raises an exception if a
|
3
8
|
# non-existent file is given to the constructor; otherwise, wx Widgets
|
4
9
|
# just carries on with an empty bitmap, which may cause faults later
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Emulates the wxWidgets BusyCursor class, by providing a scope within
|
2
|
+
# which a busy cursor will be shown
|
3
|
+
class Wx::BusyCursor
|
4
|
+
# Only one class method, optionally accepting a cursor that should be
|
5
|
+
# shown, defaulting to an hour glass cursor.
|
6
|
+
def self.busy(cursor = Wx::HOURGLASS_CURSOR)
|
7
|
+
Wx::begin_busy_cursor(cursor)
|
8
|
+
yield
|
9
|
+
ensure
|
10
|
+
Wx::end_busy_cursor
|
11
|
+
end
|
12
|
+
end
|
@@ -29,7 +29,9 @@ class Wx::EvtHandler
|
|
29
29
|
if evt_klass = EVENT_TYPE_CLASS_MAP[id]
|
30
30
|
return evt_klass
|
31
31
|
else
|
32
|
-
|
32
|
+
if Wx::DEBUG
|
33
|
+
warn "No event class defined for event type #{id}"
|
34
|
+
end
|
33
35
|
return Wx::Event
|
34
36
|
end
|
35
37
|
end
|
@@ -42,11 +44,18 @@ class Wx::EvtHandler
|
|
42
44
|
|
43
45
|
# Given the Integer constant Wx::EVT_XXX, returns the convenience
|
44
46
|
# handler method name associated with that type of event.
|
45
|
-
|
46
47
|
def self.event_name_for_type(name)
|
47
48
|
EVENT_NAME_TYPE_MAP.index(name)
|
48
49
|
end
|
49
50
|
|
51
|
+
# Given an integer value +int_val+, returns the name of the EVT_xxx
|
52
|
+
# constant which points to it. Mainly useful for debugging.
|
53
|
+
def self.const_to_name(int_val)
|
54
|
+
Wx::constants.grep(/^EVT/).find do | c_name |
|
55
|
+
Wx::const_get(c_name) == int_val
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
50
59
|
# Public method to register the mapping of a custom event type
|
51
60
|
# +konstant+ (which should be a unique integer; one will be created if
|
52
61
|
# not supplied) to a custom event class +klass+. If +meth+ and +arity+
|
@@ -133,12 +142,15 @@ class Wx::EvtHandler
|
|
133
142
|
# parameter or by calling the wx_id method of a passed Window.
|
134
143
|
def acquire_id(window_or_id)
|
135
144
|
case window_or_id
|
136
|
-
when Fixnum
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
145
|
+
when Fixnum
|
146
|
+
window_or_id
|
147
|
+
when Wx::Window, Wx::MenuItem, Wx::ToolBarTool
|
148
|
+
window_or_id.wx_id
|
149
|
+
else
|
150
|
+
Kernel.raise ArgumentError,
|
151
|
+
"Must specify Wx::Window event source or its Wx id, " +
|
152
|
+
"not '#{window_or_id.inspect}'",
|
153
|
+
caller
|
142
154
|
end
|
143
155
|
end
|
144
156
|
private :acquire_id, :acquire_handler
|
@@ -258,30 +270,24 @@ class Wx::EvtHandler
|
|
258
270
|
EventType['evt_combobox', 1,
|
259
271
|
Wx::EVT_COMMAND_COMBOBOX_SELECTED,
|
260
272
|
Wx::CommandEvent],
|
261
|
-
EventType['evt_command', 0,
|
262
|
-
Wx::EVT_NULL,
|
263
|
-
Wx::Event],
|
264
273
|
EventType['evt_command_enter', 1,
|
265
274
|
Wx::EVT_COMMAND_ENTER,
|
266
|
-
Wx::
|
275
|
+
Wx::CommandEvent],
|
267
276
|
EventType['evt_command_kill_focus', 1,
|
268
277
|
Wx::EVT_COMMAND_KILL_FOCUS,
|
269
|
-
Wx::
|
278
|
+
Wx::CommandEvent],
|
270
279
|
EventType['evt_command_left_click', 1,
|
271
280
|
Wx::EVT_COMMAND_LEFT_CLICK,
|
272
|
-
Wx::
|
281
|
+
Wx::CommandEvent],
|
273
282
|
EventType['evt_command_left_dclick', 1,
|
274
283
|
Wx::EVT_COMMAND_LEFT_DCLICK,
|
275
|
-
Wx::
|
276
|
-
EventType['evt_command_range', 2,
|
277
|
-
Wx::EVT_NULL,
|
278
|
-
Wx::Event],
|
284
|
+
Wx::CommandEvent],
|
279
285
|
EventType['evt_command_right_click', 1,
|
280
286
|
Wx::EVT_COMMAND_RIGHT_CLICK,
|
281
|
-
Wx::
|
287
|
+
Wx::CommandEvent],
|
282
288
|
EventType['evt_command_set_focus', 1,
|
283
289
|
Wx::EVT_COMMAND_SET_FOCUS,
|
284
|
-
Wx::
|
290
|
+
Wx::CommandEvent],
|
285
291
|
EventType['evt_context_menu', 0,
|
286
292
|
Wx::EVT_CONTEXT_MENU,
|
287
293
|
Wx::ContextMenuEvent],
|
@@ -585,6 +591,9 @@ class Wx::EvtHandler
|
|
585
591
|
EventType['evt_move', 0,
|
586
592
|
Wx::EVT_MOVE,
|
587
593
|
Wx::MoveEvent],
|
594
|
+
EventType['evt_moving', 0,
|
595
|
+
Wx::EVT_MOVING,
|
596
|
+
Wx::MoveEvent],
|
588
597
|
EventType['evt_nc_paint', 0,
|
589
598
|
Wx::EVT_NC_PAINT,
|
590
599
|
Wx::Event],
|
@@ -598,7 +607,7 @@ class Wx::EvtHandler
|
|
598
607
|
Wx::EVT_PAINT,
|
599
608
|
Wx::PaintEvent],
|
600
609
|
EventType['evt_query_end_session', 0,
|
601
|
-
Wx::EVT_QUERY_END_SESSION,
|
610
|
+
Wx::EVT_QUERY_END_SESSION,
|
602
611
|
Wx::Event],
|
603
612
|
EventType['evt_query_layout_info', 0,
|
604
613
|
Wx::EVT_QUERY_LAYOUT_INFO,
|
@@ -687,6 +696,9 @@ class Wx::EvtHandler
|
|
687
696
|
EventType['evt_set_focus', 0,
|
688
697
|
Wx::EVT_SET_FOCUS,
|
689
698
|
Wx::FocusEvent],
|
699
|
+
EventType['evt_show', 1,
|
700
|
+
Wx::EVT_SHOW,
|
701
|
+
Wx::ShowEvent],
|
690
702
|
EventType['evt_size', 0,
|
691
703
|
Wx::EVT_SIZE,
|
692
704
|
Wx::SizeEvent],
|
@@ -816,6 +828,9 @@ class Wx::EvtHandler
|
|
816
828
|
EventType['evt_tree_item_expanding', 1,
|
817
829
|
Wx::EVT_COMMAND_TREE_ITEM_EXPANDING,
|
818
830
|
Wx::TreeEvent],
|
831
|
+
EventType['evt_tree_item_gettooltip', 1,
|
832
|
+
Wx::EVT_COMMAND_TREE_ITEM_GETTOOLTIP,
|
833
|
+
Wx::TreeEvent],
|
819
834
|
EventType['evt_tree_item_menu', 1,
|
820
835
|
Wx::EVT_COMMAND_TREE_ITEM_MENU,
|
821
836
|
Wx::TreeEvent],
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Tweaks to the global module functions
|
2
|
+
|
3
|
+
module Wx
|
4
|
+
class << self
|
5
|
+
# Allow this to be called with keyword parameters, and avoid
|
6
|
+
# segfaults on OS X with bad params
|
7
|
+
wx_about_box = self.instance_method(:about_box)
|
8
|
+
define_method(:about_box) do | info |
|
9
|
+
# If AboutDialogInfo has no version, it segfaults on OS X 10.5
|
10
|
+
no_version = ArgumentError.new("Must supply a version for AboutDialog")
|
11
|
+
case info
|
12
|
+
when Wx::AboutDialogInfo
|
13
|
+
unless info.has_version
|
14
|
+
Kernel.raise no_version
|
15
|
+
end
|
16
|
+
|
17
|
+
ab_info = info
|
18
|
+
when Hash
|
19
|
+
ab_info = Wx::AboutDialogInfo.new
|
20
|
+
ab_info.name = info[:name] || 'wxRuby application'
|
21
|
+
ab_info.version = info[:version] || Kernel.raise(no_version)
|
22
|
+
|
23
|
+
ab_info.description = info[:description] || ''
|
24
|
+
ab_info.copyright = info[:copyright] || ''
|
25
|
+
ab_info.licence = info[:licence] || ''
|
26
|
+
ab_info.developers = info[:developers] || []
|
27
|
+
ab_info.doc_writers = info[:doc_writers] || []
|
28
|
+
ab_info.artists = info[:artists] || []
|
29
|
+
ab_info.translators = info[:translators] || []
|
30
|
+
if info.key?(:website)
|
31
|
+
ab_info.set_website(*info[:website])
|
32
|
+
end
|
33
|
+
if info.key?(:icon)
|
34
|
+
ab_info.icon = info[:icon]
|
35
|
+
end
|
36
|
+
|
37
|
+
else
|
38
|
+
Kernel.raise ArgumentError,
|
39
|
+
"Can't use #{info.inspect} for AboutDialogInfo"
|
40
|
+
end
|
41
|
+
wx_about_box.bind(self).call(ab_info)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/wx/classes/grid.rb
CHANGED
@@ -4,15 +4,17 @@ class Wx::Grid
|
|
4
4
|
# garbage collection of Grid-related classes; they do not extend the
|
5
5
|
# public functionality of the class in any way.
|
6
6
|
#
|
7
|
-
#
|
8
|
-
# GC, in that Wx makes them owned by the grid once
|
9
|
-
# for a cell or group of cells. However, because
|
10
|
-
# directors we cannot allow the ruby object they are
|
11
|
-
# associated with to be swept by GC
|
7
|
+
# GridTableBase, and the GridCellRenderers and GridCellEditors pose a
|
8
|
+
# problem for ruby's GC, in that Wx makes them owned by the grid once
|
9
|
+
# they have been set for a cell or group of cells. However, because
|
10
|
+
# they are SWIG directors we cannot allow the ruby object they are
|
11
|
+
# originally associated with to be swept by GC, as C++ method calls
|
12
|
+
# are routed to ruby method calls.
|
12
13
|
#
|
13
14
|
# The code below stores Ruby redefines all methods that may
|
14
|
-
# potentially set
|
15
|
-
#
|
15
|
+
# potentially set a GridTableBase, Editor or Renderer, and stores a
|
16
|
+
# reference to them in an instance variable, so they are not disposed
|
17
|
+
# of up when GC sweeps.
|
16
18
|
|
17
19
|
# These all need to be set up as private methods which default to an
|
18
20
|
# array. This can't be done in initialize b/c that may not be called
|
@@ -26,6 +28,13 @@ class Wx::Grid
|
|
26
28
|
private meth
|
27
29
|
end
|
28
30
|
|
31
|
+
# Set a grid table base to provide data
|
32
|
+
alias :__set_table :set_table
|
33
|
+
def set_table(table, sel_mode = Wx::Grid::GridSelectCells)
|
34
|
+
__set_table(table, sel_mode)
|
35
|
+
@__grid_table = table
|
36
|
+
end
|
37
|
+
|
29
38
|
# store default editor
|
30
39
|
wx_set_default_editor = self.instance_method(:set_default_editor)
|
31
40
|
define_method(:set_default_editor) do | editr |
|
@@ -3,4 +3,12 @@ class Wx::HtmlWindow
|
|
3
3
|
def load_file(file)
|
4
4
|
set_page( File.read(file) )
|
5
5
|
end
|
6
|
+
|
7
|
+
# This is called from within wxWidgets whenever a URL is being
|
8
|
+
# opened. The method may return true, to signal that the opening
|
9
|
+
# should be permitted, false or nil to signal that it should be
|
10
|
+
# blocked, or a string URL to which it should be redirected
|
11
|
+
def on_opening_url(url)
|
12
|
+
true
|
13
|
+
end
|
6
14
|
end
|
data/lib/wx/classes/icon.rb
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
class Wx::Icon
|
2
|
+
# Analogous to Image.from_bitmap
|
3
|
+
def self.from_bitmap(bmp)
|
4
|
+
ico = new
|
5
|
+
ico.copy_from_bitmap(bmp)
|
6
|
+
ico
|
7
|
+
end
|
8
|
+
|
2
9
|
# Redefine the initialize method so it raises an exception if a
|
3
10
|
# non-existent file is given to the constructor; otherwise, wx Widgets
|
4
11
|
# just carries on with an empty icon, which may cause faults later
|
data/lib/wx/classes/image.rb
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
class Wx::Image
|
2
|
+
# Load a new image from an IO-like object that supports "read"
|
3
|
+
def self.read(an_io, type_or_mime, index = -1)
|
4
|
+
img = new
|
5
|
+
img.load_stream(an_io, type_or_mime, index)
|
6
|
+
img
|
7
|
+
end
|
8
|
+
|
9
|
+
# Create a new image from Wx::Bitmap, preserving mask information
|
10
|
+
def self.from_bitmap(bmp)
|
11
|
+
bmp.convert_to_image
|
12
|
+
end
|
13
|
+
|
2
14
|
# Redefine the initialize method so it raises an exception if a
|
3
15
|
# non-existent file is given to the constructor; otherwise, wx Widgets
|
4
16
|
# just carries on with an invalid image, which may cause faults later
|
@@ -11,4 +23,9 @@ class Wx::Image
|
|
11
23
|
end
|
12
24
|
wx_init.bind(self).call(*args)
|
13
25
|
end
|
26
|
+
|
27
|
+
# Convert to bitmap
|
28
|
+
def convert_to_bitmap
|
29
|
+
Wx::Bitmap.from_image(self)
|
30
|
+
end
|
14
31
|
end
|
@@ -1,4 +1,25 @@
|
|
1
1
|
class Wx::XmlResource
|
2
|
+
# XRC_NO_SUBCLASSING should always be in place in wxRuby - we can't
|
3
|
+
# currently link directly to wxRuby subclasses.
|
4
|
+
class << self
|
5
|
+
wx_get = self.instance_method(:get)
|
6
|
+
define_method(:get) do
|
7
|
+
res = wx_get.bind(self).call
|
8
|
+
res.flags |= Wx::XRC_NO_SUBCLASSING
|
9
|
+
res
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# WxRuby already has all XRC handlers built in so there's no way to
|
14
|
+
# control init_all_handlers to reduce binary size. So save users
|
15
|
+
# having to call it.
|
16
|
+
wx_init = self.instance_method(:initialize)
|
17
|
+
define_method(:initialize) do | *args |
|
18
|
+
result = wx_init.bind(self).call(*args)
|
19
|
+
result.flags |= Wx::XRC_NO_SUBCLASSING
|
20
|
+
result.init_all_handlers
|
21
|
+
end
|
22
|
+
|
2
23
|
# The standard .load method returns a boolean indicating success or
|
3
24
|
# failure. Failure might result from bad XML, or a non-existent
|
4
25
|
# file. In ruby, in these circumstances, it's more natural to raise an
|
data/lib/wx/keyword_ctors.rb
CHANGED
@@ -160,7 +160,7 @@ module Wx
|
|
160
160
|
|
161
161
|
def describe_constructor()
|
162
162
|
param_spec.inject("") do | desc, param |
|
163
|
-
desc << "
|
163
|
+
desc << ":#{param.name} => (#{param.default.class.name})\n"
|
164
164
|
end
|
165
165
|
end
|
166
166
|
end
|
@@ -184,12 +184,15 @@ module Wx
|
|
184
184
|
real_args = [ parent ] + self.class.args_as_list(*mixed_args)
|
185
185
|
begin
|
186
186
|
pre_wx_kwctor_init(*real_args)
|
187
|
-
rescue
|
188
|
-
msg = "Error initializing #{self.inspect}
|
189
|
-
"
|
190
|
-
|
187
|
+
rescue => err
|
188
|
+
msg = "Error initializing #{self.inspect}\n"+
|
189
|
+
" : #{err.message} \n" +
|
190
|
+
"Correct parameters for #{self.class.name}.new are:\n" +
|
191
191
|
self.class.describe_constructor()
|
192
|
-
|
192
|
+
|
193
|
+
new_err = err.class.new(msg)
|
194
|
+
new_err.set_backtrace(caller)
|
195
|
+
Kernel.raise new_err
|
193
196
|
end
|
194
197
|
|
195
198
|
# If a block was given, pass the newly created Window instance
|
data/lib/wx/keyword_defs.rb
CHANGED
@@ -483,3 +483,10 @@ Wx::define_keyword_ctors('SearchCtrl') do
|
|
483
483
|
wx_ctor_params :validator, :name => 'searchCtrl'
|
484
484
|
end
|
485
485
|
|
486
|
+
|
487
|
+
Wx::define_keyword_ctors('AnimationCtrl') do
|
488
|
+
wx_ctor_params :id, :anim
|
489
|
+
wx_ctor_params :pos, :size, :style => Wx::AC_DEFAULT_STYLE
|
490
|
+
wx_ctor_params :name => 'animationCtrl'
|
491
|
+
end
|
492
|
+
|
data/lib/wx/version.rb
CHANGED
data/lib/wxruby2.so
CHANGED
Binary file
|
data/samples/aui/aui.rb
CHANGED
@@ -1,17 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# wxRuby2 Sample Code. Copyright (c) 2004-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
3
|
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
-
|
5
4
|
begin
|
6
|
-
require '
|
7
|
-
rescue LoadError
|
8
|
-
begin
|
9
|
-
require 'rubygems'
|
10
|
-
load 'wx'
|
11
|
-
rescue
|
12
|
-
raise no_wx_err
|
13
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
14
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
15
11
|
|
16
12
|
# A resizable control that displays its current size, and, if an AUI
|
17
13
|
# arrangement, its position and layer
|
data/samples/bigdemo/About.rbw
CHANGED
File without changes
|
@@ -1,15 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
3
4
|
begin
|
4
|
-
require '
|
5
|
-
rescue LoadError
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
12
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
13
11
|
|
14
12
|
class ColoredPanel < Wx::Window
|
15
13
|
def initialize(parent, color)
|
@@ -1,15 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
3
4
|
begin
|
4
|
-
require '
|
5
|
-
rescue LoadError
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
12
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
13
11
|
|
14
12
|
class SimpleGrid < Wx::Grid
|
15
13
|
|
data/samples/bigdemo/MDIDemo.rbw
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
3
4
|
begin
|
4
|
-
require '
|
5
|
-
rescue LoadError
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
12
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
13
11
|
|
14
12
|
module Demo
|
15
13
|
|
@@ -1,15 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
3
4
|
begin
|
4
|
-
require '
|
5
|
-
rescue LoadError
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
12
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
13
11
|
|
14
12
|
TEXT = "Right-click on the panel (or Ctrl-click on the Mac) to show a popup\nmenu. Then look at the code for this sample. Notice how the\nPopupMenu method is similar to the ShowModal method of a wxDialog in\nthat it doesn't return until the popup menu has been dismissed. The\nevent handlers for the popup menu items can either be attached to the\nmenu itself, or to the window that invokes PopupMenu."
|
15
13
|
|
@@ -1,17 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# wxRuby2 Sample Code. Copyright (c) 2004-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
3
|
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
-
|
5
4
|
begin
|
6
|
-
require '
|
7
|
-
rescue LoadError
|
8
|
-
begin
|
9
|
-
require 'rubygems'
|
10
|
-
require 'wx'
|
11
|
-
rescue LoadError
|
12
|
-
raise no_wx_err
|
13
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
14
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
15
11
|
include Wx
|
16
12
|
|
17
13
|
BUTTON_CLOSE = 1003
|
data/samples/bigdemo/Sizers.rbw
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
3
4
|
begin
|
4
|
-
require '
|
5
|
-
rescue LoadError
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
12
7
|
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
13
11
|
|
14
12
|
def make_simple_box1(win)
|
15
13
|
box = Wx::BoxSizer.new(Wx::HORIZONTAL)
|