wxruby 1.9.0-i686-linux

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 (199) hide show
  1. data/lib/wx.rb +35 -0
  2. data/lib/wx/classes/app.rb +25 -0
  3. data/lib/wx/classes/artprovider.rb +31 -0
  4. data/lib/wx/classes/bitmap.rb +23 -0
  5. data/lib/wx/classes/choice.rb +4 -0
  6. data/lib/wx/classes/clientdc.rb +13 -0
  7. data/lib/wx/classes/colour.rb +47 -0
  8. data/lib/wx/classes/combobox.rb +4 -0
  9. data/lib/wx/classes/evthandler.rb +824 -0
  10. data/lib/wx/classes/font.rb +118 -0
  11. data/lib/wx/classes/grid.rb +130 -0
  12. data/lib/wx/classes/helpcontroller.rb +5 -0
  13. data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
  14. data/lib/wx/classes/htmlwindow.rb +6 -0
  15. data/lib/wx/classes/icon.rb +14 -0
  16. data/lib/wx/classes/image.rb +14 -0
  17. data/lib/wx/classes/listbox.rb +4 -0
  18. data/lib/wx/classes/locale.rb +28 -0
  19. data/lib/wx/classes/object.rb +7 -0
  20. data/lib/wx/classes/paintdc.rb +12 -0
  21. data/lib/wx/classes/point.rb +5 -0
  22. data/lib/wx/classes/previewframe.rb +13 -0
  23. data/lib/wx/classes/rect.rb +5 -0
  24. data/lib/wx/classes/size.rb +5 -0
  25. data/lib/wx/classes/texturlevent.rb +6 -0
  26. data/lib/wx/classes/timer.rb +69 -0
  27. data/lib/wx/classes/window.rb +38 -0
  28. data/lib/wx/classes/xmlresource.rb +16 -0
  29. data/lib/wx/version.rb +3 -0
  30. data/lib/wxruby2.so +0 -0
  31. data/samples/SAMPLES-LICENSE.TXT +18 -0
  32. data/samples/aui/aui.rb +1352 -0
  33. data/samples/bigdemo/About.rbw +39 -0
  34. data/samples/bigdemo/ColorPanel.rbw +25 -0
  35. data/samples/bigdemo/GridSimple.rbw +80 -0
  36. data/samples/bigdemo/MDIDemo.rbw +59 -0
  37. data/samples/bigdemo/PopupMenu.rbw +151 -0
  38. data/samples/bigdemo/ShapedWindow.rbw +135 -0
  39. data/samples/bigdemo/Sizers.rbw +545 -0
  40. data/samples/bigdemo/bigdemo.rb +826 -0
  41. data/samples/bigdemo/demoTemplate.rbw +37 -0
  42. data/samples/bigdemo/helpfile.htb +0 -0
  43. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  44. data/samples/bigdemo/icons/Test 015.png +0 -0
  45. data/samples/bigdemo/icons/choice.bmp +0 -0
  46. data/samples/bigdemo/icons/choice.xpm +27 -0
  47. data/samples/bigdemo/icons/combo.bmp +0 -0
  48. data/samples/bigdemo/icons/combo.xpm +27 -0
  49. data/samples/bigdemo/icons/copy.xpm +25 -0
  50. data/samples/bigdemo/icons/cut.xpm +24 -0
  51. data/samples/bigdemo/icons/gauge.bmp +0 -0
  52. data/samples/bigdemo/icons/gauge.xpm +27 -0
  53. data/samples/bigdemo/icons/help.xpm +25 -0
  54. data/samples/bigdemo/icons/list.bmp +0 -0
  55. data/samples/bigdemo/icons/list.xpm +27 -0
  56. data/samples/bigdemo/icons/mondrian.ico +0 -0
  57. data/samples/bigdemo/icons/mondrian.xpm +44 -0
  58. data/samples/bigdemo/icons/new.xpm +24 -0
  59. data/samples/bigdemo/icons/ogl.ico +0 -0
  60. data/samples/bigdemo/icons/ogl.xpm +45 -0
  61. data/samples/bigdemo/icons/open.xpm +26 -0
  62. data/samples/bigdemo/icons/paste.bmp +0 -0
  63. data/samples/bigdemo/icons/paste.xpm +38 -0
  64. data/samples/bigdemo/icons/pointy.png +0 -0
  65. data/samples/bigdemo/icons/preview.xpm +26 -0
  66. data/samples/bigdemo/icons/print.xpm +26 -0
  67. data/samples/bigdemo/icons/radio.bmp +0 -0
  68. data/samples/bigdemo/icons/radio.xpm +27 -0
  69. data/samples/bigdemo/icons/robert.xpm +415 -0
  70. data/samples/bigdemo/icons/ruby.png +0 -0
  71. data/samples/bigdemo/icons/sashtest.ico +0 -0
  72. data/samples/bigdemo/icons/save.xpm +25 -0
  73. data/samples/bigdemo/icons/smiles.bmp +0 -0
  74. data/samples/bigdemo/icons/smiles.xpm +39 -0
  75. data/samples/bigdemo/icons/smiley.ico +0 -0
  76. data/samples/bigdemo/icons/smiley.xpm +42 -0
  77. data/samples/bigdemo/icons/stattext.xpm +24 -0
  78. data/samples/bigdemo/icons/test2.bmp +0 -0
  79. data/samples/bigdemo/icons/test2.png +0 -0
  80. data/samples/bigdemo/icons/test2.xpm +79 -0
  81. data/samples/bigdemo/icons/text.bmp +0 -0
  82. data/samples/bigdemo/icons/text.xpm +27 -0
  83. data/samples/bigdemo/icons/tog1.bmp +0 -0
  84. data/samples/bigdemo/icons/tog1.xpm +38 -0
  85. data/samples/bigdemo/icons/tog2.bmp +0 -0
  86. data/samples/bigdemo/icons/tog2.xpm +38 -0
  87. data/samples/bigdemo/icons/wxwin.ico +0 -0
  88. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  89. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
  90. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  91. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  92. data/samples/bigdemo/run.rb +94 -0
  93. data/samples/bigdemo/tips.txt +7 -0
  94. data/samples/bigdemo/utils.rb +12 -0
  95. data/samples/bigdemo/wxArtProvider.rbw +285 -0
  96. data/samples/bigdemo/wxBitmapButton.rbw +64 -0
  97. data/samples/bigdemo/wxButton.rbw +66 -0
  98. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -0
  99. data/samples/bigdemo/wxCheckBox.rbw +52 -0
  100. data/samples/bigdemo/wxCheckListBox.rbw +77 -0
  101. data/samples/bigdemo/wxChoice.rbw +49 -0
  102. data/samples/bigdemo/wxChoicebook.rbw +80 -0
  103. data/samples/bigdemo/wxColourDialog.rbw +34 -0
  104. data/samples/bigdemo/wxComboBox.rbw +79 -0
  105. data/samples/bigdemo/wxCursor.rbw +140 -0
  106. data/samples/bigdemo/wxDialog.rbw +92 -0
  107. data/samples/bigdemo/wxDirDialog.rbw +32 -0
  108. data/samples/bigdemo/wxDragImage.rbw +74 -0
  109. data/samples/bigdemo/wxFileDialog.rbw +39 -0
  110. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -0
  111. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -0
  112. data/samples/bigdemo/wxFontDialog.rbw +176 -0
  113. data/samples/bigdemo/wxFrame.rbw +55 -0
  114. data/samples/bigdemo/wxGauge.rbw +73 -0
  115. data/samples/bigdemo/wxGenericDirCtrl.rbw +78 -0
  116. data/samples/bigdemo/wxGrid.rbw +68 -0
  117. data/samples/bigdemo/wxHtmlHelpController.rbw +57 -0
  118. data/samples/bigdemo/wxListBox.rbw +142 -0
  119. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -0
  120. data/samples/bigdemo/wxMDIWindows.rbw +52 -0
  121. data/samples/bigdemo/wxMenu.rbw +238 -0
  122. data/samples/bigdemo/wxMessageDialog.rbw +30 -0
  123. data/samples/bigdemo/wxMiniFrame.rbw +74 -0
  124. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -0
  125. data/samples/bigdemo/wxNotebook.rbw +138 -0
  126. data/samples/bigdemo/wxProgressDialog.rbw +45 -0
  127. data/samples/bigdemo/wxRadioBox.rbw +74 -0
  128. data/samples/bigdemo/wxRadioButton.rbw +127 -0
  129. data/samples/bigdemo/wxSashWindow.rbw +155 -0
  130. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -0
  131. data/samples/bigdemo/wxScrolledWindow.rbw +196 -0
  132. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -0
  133. data/samples/bigdemo/wxSlider.rbw +44 -0
  134. data/samples/bigdemo/wxSpinButton.rbw +52 -0
  135. data/samples/bigdemo/wxSpinCtrl.rbw +53 -0
  136. data/samples/bigdemo/wxSplitterWindow.rbw +65 -0
  137. data/samples/bigdemo/wxStaticBitmap.rbw +53 -0
  138. data/samples/bigdemo/wxStaticText.rbw +57 -0
  139. data/samples/bigdemo/wxStatusBar.rbw +128 -0
  140. data/samples/bigdemo/wxTextCtrl.rbw +151 -0
  141. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -0
  142. data/samples/bigdemo/wxToggleButton.rbw +51 -0
  143. data/samples/bigdemo/wxToolBar.rbw +133 -0
  144. data/samples/bigdemo/wxTreeCtrl.rbw +192 -0
  145. data/samples/calendar/calendar.rb +275 -0
  146. data/samples/caret/caret.rb +296 -0
  147. data/samples/caret/mondrian.xpm +44 -0
  148. data/samples/controls/controls.rb +1140 -0
  149. data/samples/controls/get_item_sample.rb +87 -0
  150. data/samples/controls/icons/choice.xpm +27 -0
  151. data/samples/controls/icons/combo.xpm +27 -0
  152. data/samples/controls/icons/gauge.xpm +27 -0
  153. data/samples/controls/icons/list.xpm +27 -0
  154. data/samples/controls/icons/radio.xpm +27 -0
  155. data/samples/controls/icons/stattext.xpm +24 -0
  156. data/samples/controls/icons/text.xpm +27 -0
  157. data/samples/controls/mondrian.ico +0 -0
  158. data/samples/controls/mondrian.xpm +44 -0
  159. data/samples/controls/test2.bmp +0 -0
  160. data/samples/dialogs/dialogs.rb +724 -0
  161. data/samples/dialogs/tips.txt +18 -0
  162. data/samples/etc/activation.rb +108 -0
  163. data/samples/etc/choice.rb +72 -0
  164. data/samples/etc/miniframe.rb +84 -0
  165. data/samples/etc/sash.rb +135 -0
  166. data/samples/etc/scrollwin.rb +116 -0
  167. data/samples/etc/system_settings.rb +258 -0
  168. data/samples/etc/wizard.rb +81 -0
  169. data/samples/grid/grid.rb +201 -0
  170. data/samples/html/html.rb +251 -0
  171. data/samples/images/Thumbs.db +0 -0
  172. data/samples/images/images.rb +48 -0
  173. data/samples/images/paperclip.png +0 -0
  174. data/samples/listbook/listbook.rb +183 -0
  175. data/samples/listbook/listbook.xrc +370 -0
  176. data/samples/mdi/mdi.rb +87 -0
  177. data/samples/minimal/minimal.rb +95 -0
  178. data/samples/minimal/mondrian.ico +0 -0
  179. data/samples/minimal/mondrian.xpm +44 -0
  180. data/samples/minimal/nothing.rb +46 -0
  181. data/samples/minimal/text.rb +35 -0
  182. data/samples/printing/mondrian.ico +0 -0
  183. data/samples/printing/mondrian.xpm +44 -0
  184. data/samples/printing/printing.rb +484 -0
  185. data/samples/text/mondrian.ico +0 -0
  186. data/samples/text/mondrian.xpm +44 -0
  187. data/samples/text/scintilla.rb +180 -0
  188. data/samples/text/textctrl.rb +124 -0
  189. data/samples/text/unicode.rb +238 -0
  190. data/samples/text/utf8.txt +15 -0
  191. data/samples/treectrl/icon1.xpm +79 -0
  192. data/samples/treectrl/icon2.xpm +53 -0
  193. data/samples/treectrl/icon3.xpm +79 -0
  194. data/samples/treectrl/icon4.xpm +43 -0
  195. data/samples/treectrl/icon5.xpm +79 -0
  196. data/samples/treectrl/treectrl.rb +1210 -0
  197. data/samples/xrc/samples.xrc +46 -0
  198. data/samples/xrc/xrc_sample.rb +107 -0
  199. metadata +264 -0
data/lib/wx.rb ADDED
@@ -0,0 +1,35 @@
1
+ # Copyright 2004-2006 by Kevin Smith
2
+ # released under the MIT-style wxruby2 license
3
+
4
+ # This wrapper serves three functions:
5
+ # 1. It loads the binary library 'wxruby2.so' or 'wxruby.dll', while
6
+ # still allowing applications to just require 'wx'.
7
+ # 2. It sets up the version information
8
+ # 3. It loads in ruby extensions to the core Wx classes.
9
+
10
+
11
+ # load the binary library
12
+ require 'wxruby2'
13
+
14
+ # alias the module
15
+ Wx = Wxruby2
16
+
17
+ # Load the version information (should be bundled with all released versions)
18
+ begin
19
+ require 'wx/version'
20
+ rescue LoadError
21
+ Wx::WXRUBY_VERSION = '0.0.0'
22
+ end
23
+ # Convenience string for WxWidgets version info
24
+ Wx::WXWIDGETS_VERSION = '%i.%i.%i' % [ Wx::WXWIDGETS_MAJOR_VERSION,
25
+ Wx::WXWIDGETS_MINOR_VERSION,
26
+ Wx::WXWIDGETS_RELEASE_NUMBER ]
27
+
28
+
29
+ # Load in all the class extension methods written in ruby
30
+ # evthandler must be required first b/c it sets up methods modified elsewhere
31
+ require 'wx/classes/evthandler.rb'
32
+ class_files = File.join( File.dirname(__FILE__), 'wx', 'classes', '*.rb')
33
+ Dir.glob(class_files) do | class_file |
34
+ require 'wx/classes/' + class_file[/\w+\.rb$/]
35
+ end
@@ -0,0 +1,25 @@
1
+ # Copyright 2004-2006 by Kevin Smith
2
+ # released under the MIT-style wxruby2 license
3
+
4
+ class Wx::App
5
+ # This method handles failed assertions from within the WxWidgets C++
6
+ # code. These messages are only generated by a DEBUG build of
7
+ # WxRuby. Such messages usually indicate that the API is being used
8
+ # incorrectly; the file/line reference points to the place in the
9
+ # WxWidgets source code where the assertion was made.
10
+ def on_assert_failure(file, line, condition, message)
11
+ warn "Wx WARNING: #{message} (#{file}:#{line})"
12
+ end
13
+
14
+ # For use in development only, of no practical use in production code.
15
+ # This method causes Ruby's garbage collection to run (roughly) at
16
+ # interval +interval+ (seconds) - the default is 1, i.e. every
17
+ # second. This should help ferret out bugs in memory management more
18
+ # quickly.
19
+ def gc_stress(interval = 1)
20
+ t = Wx::Timer.new(self, 9999)
21
+ evt_timer(9999) { Thread.pass }
22
+ Thread.new { loop { sleep interval; GC.start } }
23
+ t.start(100)
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ # Class which can supply icons and bitmaps
2
+ class Wx::ArtProvider
3
+ # Keep a note of supplied ArtProviders to prevent them being GC'd
4
+ @__art_provs = []
5
+
6
+ class << self
7
+ wx_insert = instance_method(:insert)
8
+ define_method(:insert) do | art_prov |
9
+ wx_insert.bind(self).call(art_prov)
10
+ @__art_provs.unshift(art_prov)
11
+ end
12
+
13
+ wx_pop = instance_method(:pop)
14
+ define_method(:pop) do
15
+ wx_pop.bind(self).call
16
+ @__art_provs.pop
17
+ end
18
+
19
+ wx_push = instance_method(:push)
20
+ define_method(:push) do | art_prov |
21
+ wx_push.bind(self).call(art_prov)
22
+ @__art_provs.push(art_prov)
23
+ end
24
+
25
+ wx_remove = instance_method(:remove)
26
+ define_method(:remove) do | art_prov |
27
+ wx_push.bind(self).call(art_prov)
28
+ @__art_provs.delete(art_prov)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ class Wx::Bitmap
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, "Bitmap file does not exist: #{args[0]}")
10
+ end
11
+ end
12
+ wx_init.bind(self).call(*args)
13
+ end
14
+
15
+ # Accepts a block, which will be passed a device context which can be
16
+ # used to draw upon the Bitmap
17
+ def draw
18
+ dc = MemoryDC.new
19
+ dc.select_object(self)
20
+ yield dc
21
+ dc.select_object( NULL_BITMAP )
22
+ end
23
+ end
@@ -0,0 +1,4 @@
1
+ class Wx::Choice
2
+ alias :get_item_data :get_client_data
3
+ alias :set_item_data :set_client_data
4
+ end
@@ -0,0 +1,13 @@
1
+ # Device Context to paint on a window outside an on_paint handler. It is
2
+ # recommended that PaintDC is used in preference to this class.
3
+ class Wx::ClientDC
4
+ # This class should not be instantiated directly in wxRuby; it should
5
+ # always be used via Window#paint, which takes a block receiving the
6
+ # DC. This ensures that the DC is cleaned up at the correct time,
7
+ # avoiding errors and segfaults on exit.
8
+ def initialize(*args)
9
+ Kernel.raise RuntimeError,
10
+ "Do not instantiate ClientDC directly; use Window#paint",
11
+ caller[1..-1]
12
+ end
13
+ end
@@ -0,0 +1,47 @@
1
+ class Wx::Colour
2
+ # Redefine the initialize method so it raises an exception if an
3
+ # invalid colour value is given. This might be an unknown colour
4
+ # string (eg 'dark blue') or out-of-bounds integer values (<0 or >255)
5
+ wx_init = self.instance_method(:initialize)
6
+ define_method(:initialize) do | *args |
7
+ begin
8
+ wx_init.bind(self).call(*args)
9
+ # Invalid integer values raise SWIG 'no matching func'
10
+ rescue ArgumentError
11
+ Kernel.raise ArgumentError, "Invalid colour values #{args.inspect}"
12
+ end
13
+
14
+ if not is_ok
15
+ Kernel.raise ArgumentError, "Invalid colour values #{args.inspect}"
16
+ end
17
+ end
18
+
19
+ # Standard colours, corresponding to WxWidgets stock colours.
20
+ Wx::WHITE = new(255, 255, 255)
21
+ Wx::BLACK = new(0, 0, 0)
22
+
23
+ Wx::RED = new(255, 0, 0)
24
+ Wx::GREEN = new(0, 255, 0)
25
+ Wx::BLUE = new(0, 0, 255)
26
+
27
+ Wx::YELLOW = new(255, 255, 0)
28
+ Wx::MAGENTA = new(255, 0, 255)
29
+ Wx::CYAN = new(0, 255, 255)
30
+
31
+ Wx::LIGHT_GREY = new(192, 192, 192)
32
+
33
+ # Colours are equal to one another if they have the same red, green
34
+ # and blue intensity, and the same alpha
35
+ def ==(other)
36
+ if not other.is_a?(self.class)
37
+ raise ArgumentError, "No comparison of #{self} to #{other}"
38
+ end
39
+ [ red, green, blue, alpha ] ==
40
+ [ other.red, other.green, other.blue, other.alpha ]
41
+ end
42
+
43
+ # More informative output for inspect etc
44
+ def to_s
45
+ "#<Wx::Colour: (#{red}, #{green}, #{blue} *#{alpha})>"
46
+ end
47
+ end
@@ -0,0 +1,4 @@
1
+ class Wx::ComboBox
2
+ alias :get_item_data :get_client_data
3
+ alias :set_item_data :set_client_data
4
+ end
@@ -0,0 +1,824 @@
1
+ # All classes which are capable of handling events inherit from
2
+ # EvtHandler. This includes all Wx::Window subclasses and Wx::App.
3
+
4
+ class Wx::EvtHandler
5
+ # EventType is an internal class that's used to set up event handlers
6
+ # and mappings.
7
+ # * 'name' is the name of the event handler method in ruby
8
+ # * 'arity' is the number of id arguments that method should accept
9
+ # * 'const' is the Wx EventType constant that identifies the event
10
+ # * 'evt_class' is the WxRuby event class which is passed to the event
11
+ # handler block
12
+ #
13
+ # NB: Some event types currently pass a Wx::Event into the event
14
+ # handler block; when the appropriate classes are added to wxRuby, the
15
+ # binding can be updated here.
16
+ EventType = Struct.new(:name, :arity, :const, :evt_class)
17
+
18
+ # Fast look-up hash to map event type ids to ruby event classes
19
+ EVENT_TYPE_MAPPING = {}
20
+
21
+ # Given a Wx EventType id (eg Wx::EVT_MENU), returns a WxRuby Event
22
+ # class which should be passed to event handler blocks. The actual
23
+ # EVT_XXX constants themselves are in the compiled library, defined in
24
+ # swig/classes/Event.i
25
+ def self.event_class_for_type(id)
26
+ if evt_klass = EVENT_TYPE_MAPPING[id]
27
+ return evt_klass
28
+ else
29
+ warn "No event class defined for event type #{id}"
30
+ return Wx::Event
31
+ end
32
+ end
33
+
34
+ # Public method to register the mapping of a custom event type
35
+ # +konstant+ (which should be a unique integer; one will be created if
36
+ # not supplied) to a custom event class +klass+. If +meth+ and +arity+
37
+ # are given, a convenience evt_handler method called +meth+ will be
38
+ # created, which accepts +arity+ arguments.
39
+ def self.register_class( klass, konstant = nil,
40
+ meth = nil, arity = nil)
41
+ konstant ||= Wx::Event.new_event_type
42
+ unless klass < Wx::Event
43
+ Kernel.raise TypeError, "Event class should be a subclass of Wx::Event"
44
+ end
45
+ ev_type = EventType.new(meth, arity, konstant, klass)
46
+ register_event_type(ev_type)
47
+ return konstant
48
+ end
49
+
50
+ # Registers the event type +ev_type+, which should be an instance of
51
+ # the Struct class +Wx::EvtHandler::EventType+.
52
+ def self.register_event_type(ev_type)
53
+ EVENT_TYPE_MAPPING[ev_type.const] = ev_type.evt_class
54
+ unless ev_type.arity and ev_type.name
55
+ return
56
+ end
57
+ case ev_type.arity
58
+ when 0 # events without an id
59
+ class_eval %Q|
60
+ def #{ev_type.name}(&block)
61
+ connect(Wx::ID_ANY, Wx::ID_ANY, #{ev_type.const}, &block)
62
+ end |
63
+ when 1 # events with an id
64
+ class_eval %Q|
65
+ def #{ev_type.name}(id, &block)
66
+ connect(id, Wx::ID_ANY, #{ev_type.const}, &block)
67
+ end |
68
+ when 2 # events with id range
69
+ class_eval %Q|
70
+ def #{ev_type.name}(first_id, last_id, &block)
71
+ connect(first_id, last_id, #{ev_type.const}, &block)
72
+ end |
73
+ end
74
+ end
75
+
76
+ EVENT_DEFINITIONS = [
77
+ EventType['evt_activate', 0,
78
+ Wx::EVT_ACTIVATE,
79
+ Wx::ActivateEvent],
80
+ EventType['evt_activate_app', 0,
81
+ Wx::EVT_ACTIVATE_APP,
82
+ Wx::ActivateEvent],
83
+ EventType['evt_auinotebook_allow_dnd', 1,
84
+ Wx::EVT_COMMAND_AUINOTEBOOK_ALLOW_DND,
85
+ Wx::AuiNotebookEvent],
86
+ EventType['evt_auinotebook_begin_drag', 1,
87
+ Wx::EVT_COMMAND_AUINOTEBOOK_BEGIN_DRAG,
88
+ Wx::AuiNotebookEvent],
89
+ EventType['evt_auinotebook_button', 1,
90
+ Wx::EVT_COMMAND_AUINOTEBOOK_BUTTON,
91
+ Wx::AuiNotebookEvent],
92
+ EventType['evt_auinotebook_drag_motion', 1,
93
+ Wx::EVT_COMMAND_AUINOTEBOOK_DRAG_MOTION,
94
+ Wx::AuiNotebookEvent],
95
+ EventType['evt_auinotebook_end_drag', 1,
96
+ Wx::EVT_COMMAND_AUINOTEBOOK_END_DRAG,
97
+ Wx::AuiNotebookEvent],
98
+ EventType['evt_auinotebook_page_changed', 1,
99
+ Wx::EVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED,
100
+ Wx::AuiNotebookEvent],
101
+ EventType['evt_auinotebook_page_changing', 1,
102
+ Wx::EVT_COMMAND_AUINOTEBOOK_PAGE_CHANGING,
103
+ Wx::AuiNotebookEvent],
104
+ EventType['evt_auinotebook_page_close', 1,
105
+ Wx::EVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE,
106
+ Wx::AuiNotebookEvent],
107
+ EventType['evt_aui_find_manager', 0,
108
+ Wx::EVT_AUI_FIND_MANAGER,
109
+ Wx::AuiManagerEvent],
110
+ EventType['evt_aui_pane_button', 0,
111
+ Wx::EVT_AUI_PANE_BUTTON,
112
+ Wx::AuiManagerEvent],
113
+ EventType['evt_aui_pane_close', 0,
114
+ Wx::EVT_AUI_PANE_CLOSE,
115
+ Wx::AuiManagerEvent],
116
+ EventType['evt_aui_pane_maximize', 0,
117
+ Wx::EVT_AUI_PANE_MAXIMIZE,
118
+ Wx::AuiManagerEvent],
119
+ EventType['evt_aui_pane_restore', 0,
120
+ Wx::EVT_AUI_PANE_RESTORE,
121
+ Wx::AuiManagerEvent],
122
+ EventType['evt_aui_render', 0,
123
+ Wx::EVT_AUI_RENDER,
124
+ Wx::AuiManagerEvent],
125
+ EventType['evt_button', 1,
126
+ Wx::EVT_COMMAND_BUTTON_CLICKED,
127
+ Wx::CommandEvent],
128
+ EventType['evt_calculate_layout', 0,
129
+ Wx::EVT_CALCULATE_LAYOUT,
130
+ Wx::Event],
131
+ EventType['evt_calendar', 1,
132
+ Wx::EVT_CALENDAR_DOUBLECLICKED,
133
+ Wx::CalendarEvent],
134
+ EventType['evt_calendar_day', 1,
135
+ Wx::EVT_CALENDAR_DAY_CHANGED,
136
+ Wx::CalendarEvent],
137
+ EventType['evt_calendar_month', 1,
138
+ Wx::EVT_CALENDAR_MONTH_CHANGED,
139
+ Wx::CalendarEvent],
140
+ EventType['evt_calendar_sel_changed', 1,
141
+ Wx::EVT_CALENDAR_SEL_CHANGED,
142
+ Wx::CalendarEvent],
143
+ EventType['evt_calendar_weekday_clicked', 1,
144
+ Wx::EVT_CALENDAR_WEEKDAY_CLICKED,
145
+ Wx::CalendarEvent],
146
+ EventType['evt_calendar_year', 1,
147
+ Wx::EVT_CALENDAR_YEAR_CHANGED,
148
+ Wx::CalendarEvent],
149
+ EventType['evt_char', 0,
150
+ Wx::EVT_CHAR,
151
+ Wx::KeyEvent],
152
+ EventType['evt_char_hook', 0,
153
+ Wx::EVT_CHAR_HOOK,
154
+ Wx::KeyEvent],
155
+ EventType['evt_checkbox', 1,
156
+ Wx::EVT_COMMAND_CHECKBOX_CLICKED,
157
+ Wx::CommandEvent],
158
+ EventType['evt_checklistbox', 1,
159
+ Wx::EVT_COMMAND_CHECKLISTBOX_TOGGLED,
160
+ Wx::CommandEvent],
161
+ EventType['evt_child_focus', 0,
162
+ Wx::EVT_CHILD_FOCUS,
163
+ Wx::ChildFocusEvent],
164
+ EventType['evt_choice', 1,
165
+ Wx::EVT_COMMAND_CHOICE_SELECTED,
166
+ Wx::CommandEvent],
167
+ EventType['evt_choicebook_page_changed', 1,
168
+ Wx::EVT_COMMAND_CHOICEBOOK_PAGE_CHANGED,
169
+ Wx::ChoicebookEvent],
170
+ EventType['evt_choicebook_page_changing', 1,
171
+ Wx::EVT_COMMAND_CHOICEBOOK_PAGE_CHANGING,
172
+ Wx::ChoicebookEvent],
173
+ EventType['evt_close', 0,
174
+ Wx::EVT_CLOSE_WINDOW,
175
+ Wx::CloseEvent],
176
+ EventType['evt_combobox', 1,
177
+ Wx::EVT_COMMAND_COMBOBOX_SELECTED,
178
+ Wx::CommandEvent],
179
+ EventType['evt_command', 0,
180
+ Wx::EVT_NULL,
181
+ Wx::Event],
182
+ EventType['evt_command_enter', 1,
183
+ Wx::EVT_COMMAND_ENTER,
184
+ Wx::Event],
185
+ EventType['evt_command_kill_focus', 1,
186
+ Wx::EVT_COMMAND_KILL_FOCUS,
187
+ Wx::Event],
188
+ EventType['evt_command_left_click', 1,
189
+ Wx::EVT_COMMAND_LEFT_CLICK,
190
+ Wx::Event],
191
+ EventType['evt_command_left_dclick', 1,
192
+ Wx::EVT_COMMAND_LEFT_DCLICK,
193
+ Wx::Event],
194
+ EventType['evt_command_range', 2,
195
+ Wx::EVT_NULL,
196
+ Wx::Event],
197
+ EventType['evt_command_right_click', 1,
198
+ Wx::EVT_COMMAND_RIGHT_CLICK,
199
+ Wx::Event],
200
+ EventType['evt_command_set_focus', 1,
201
+ Wx::EVT_COMMAND_SET_FOCUS,
202
+ Wx::Event],
203
+ EventType['evt_context_menu', 0,
204
+ Wx::EVT_CONTEXT_MENU,
205
+ Wx::ContextMenuEvent],
206
+ EventType['evt_drop_files', 0,
207
+ Wx::EVT_DROP_FILES,
208
+ Wx::Event],
209
+ EventType['evt_end_process', 1,
210
+ Wx::EVT_END_PROCESS,
211
+ Wx::Event],
212
+ EventType['evt_end_session', 0,
213
+ Wx::EVT_END_SESSION,
214
+ Wx::Event],
215
+ EventType['evt_enter_window', 0,
216
+ Wx::EVT_ENTER_WINDOW,
217
+ Wx::MouseEvent],
218
+ EventType['evt_erase_background', 0,
219
+ Wx::EVT_ERASE_BACKGROUND,
220
+ Wx::EraseEvent],
221
+ EventType['evt_find', 1,
222
+ Wx::EVT_COMMAND_FIND,
223
+ Wx::FindDialogEvent],
224
+ EventType['evt_find_close', 1,
225
+ Wx::EVT_COMMAND_FIND_CLOSE,
226
+ Wx::FindDialogEvent],
227
+ EventType['evt_find_next', 1,
228
+ Wx::EVT_COMMAND_FIND_NEXT,
229
+ Wx::FindDialogEvent],
230
+ EventType['evt_find_replace', 1,
231
+ Wx::EVT_COMMAND_FIND_REPLACE,
232
+ Wx::FindDialogEvent],
233
+ EventType['evt_find_replace_all', 1,
234
+ Wx::EVT_COMMAND_FIND_REPLACE_ALL,
235
+ Wx::FindDialogEvent],
236
+ EventType['evt_grid_cell_change', 0,
237
+ Wx::EVT_GRID_CELL_CHANGE,
238
+ Wx::GridEvent],
239
+ EventType['evt_grid_cell_left_click', 0,
240
+ Wx::EVT_GRID_CELL_LEFT_CLICK,
241
+ Wx::GridEvent],
242
+ EventType['evt_grid_cell_left_dclick', 0,
243
+ Wx::EVT_GRID_CELL_LEFT_DCLICK,
244
+ Wx::GridEvent],
245
+ EventType['evt_grid_cell_right_click', 0,
246
+ Wx::EVT_GRID_CELL_RIGHT_CLICK,
247
+ Wx::GridEvent],
248
+ EventType['evt_grid_cell_right_dclick', 0,
249
+ Wx::EVT_GRID_CELL_RIGHT_DCLICK,
250
+ Wx::GridEvent],
251
+ EventType['evt_grid_cmd_cell_change', 1,
252
+ Wx::EVT_GRID_CELL_CHANGE,
253
+ Wx::GridEvent],
254
+ EventType['evt_grid_cmd_cell_left_click', 1,
255
+ Wx::EVT_GRID_CELL_LEFT_CLICK,
256
+ Wx::GridEvent],
257
+ EventType['evt_grid_cmd_cell_left_dclick', 1,
258
+ Wx::EVT_GRID_CELL_LEFT_DCLICK,
259
+ Wx::GridEvent],
260
+ EventType['evt_grid_cmd_cell_right_click', 1,
261
+ Wx::EVT_GRID_CELL_RIGHT_CLICK,
262
+ Wx::GridEvent],
263
+ EventType['evt_grid_cmd_cell_right_dclick', 1,
264
+ Wx::EVT_GRID_CELL_RIGHT_DCLICK,
265
+ Wx::GridEvent],
266
+ EventType['evt_grid_cmd_col_size', 1,
267
+ Wx::EVT_GRID_COL_SIZE,
268
+ Wx::GridSizeEvent],
269
+ EventType['evt_grid_cmd_editor_created', 1,
270
+ Wx::EVT_GRID_EDITOR_CREATED,
271
+ Wx::GridEditorCreatedEvent],
272
+ EventType['evt_grid_cmd_editor_hidden', 1,
273
+ Wx::EVT_GRID_EDITOR_HIDDEN,
274
+ Wx::GridEvent],
275
+ EventType['evt_grid_cmd_editor_shown', 1,
276
+ Wx::EVT_GRID_EDITOR_SHOWN,
277
+ Wx::GridEvent],
278
+ EventType['evt_grid_cmd_label_left_click', 1,
279
+ Wx::EVT_GRID_LABEL_LEFT_CLICK,
280
+ Wx::GridEvent],
281
+ EventType['evt_grid_cmd_label_left_dclick', 1,
282
+ Wx::EVT_GRID_LABEL_LEFT_DCLICK,
283
+ Wx::GridEvent],
284
+ EventType['evt_grid_cmd_label_right_click', 1,
285
+ Wx::EVT_GRID_LABEL_RIGHT_CLICK,
286
+ Wx::GridEvent],
287
+ EventType['evt_grid_cmd_label_right_dclick', 1,
288
+ Wx::EVT_GRID_LABEL_RIGHT_DCLICK,
289
+ Wx::GridEvent],
290
+ EventType['evt_grid_cmd_range_select', 1,
291
+ Wx::EVT_GRID_RANGE_SELECT,
292
+ Wx::GridRangeSelectEvent],
293
+ EventType['evt_grid_cmd_row_size', 1,
294
+ Wx::EVT_GRID_ROW_SIZE,
295
+ Wx::GridSizeEvent],
296
+ EventType['evt_grid_cmd_select_cell', 1,
297
+ Wx::EVT_GRID_SELECT_CELL,
298
+ Wx::GridEvent],
299
+ EventType['evt_grid_col_size', 0,
300
+ Wx::EVT_GRID_COL_SIZE,
301
+ Wx::GridSizeEvent],
302
+ EventType['evt_grid_editor_created', 0,
303
+ Wx::EVT_GRID_EDITOR_CREATED,
304
+ Wx::GridEditorCreatedEvent],
305
+ EventType['evt_grid_editor_hidden', 0,
306
+ Wx::EVT_GRID_EDITOR_HIDDEN,
307
+ Wx::GridEvent],
308
+ EventType['evt_grid_editor_shown', 0,
309
+ Wx::EVT_GRID_EDITOR_SHOWN,
310
+ Wx::GridEvent],
311
+ EventType['evt_grid_label_left_click', 0,
312
+ Wx::EVT_GRID_LABEL_LEFT_CLICK,
313
+ Wx::GridEvent],
314
+ EventType['evt_grid_label_left_dclick', 0,
315
+ Wx::EVT_GRID_LABEL_LEFT_DCLICK,
316
+ Wx::GridEvent],
317
+ EventType['evt_grid_label_right_click', 0,
318
+ Wx::EVT_GRID_LABEL_RIGHT_CLICK,
319
+ Wx::GridEvent],
320
+ EventType['evt_grid_label_right_dclick', 0,
321
+ Wx::EVT_GRID_LABEL_RIGHT_DCLICK,
322
+ Wx::GridEvent],
323
+ EventType['evt_grid_range_select', 0,
324
+ Wx::EVT_GRID_RANGE_SELECT,
325
+ Wx::GridRangeSelectEvent],
326
+ EventType['evt_grid_row_size', 0,
327
+ Wx::EVT_GRID_ROW_SIZE,
328
+ Wx::GridSizeEvent],
329
+ EventType['evt_grid_select_cell', 0,
330
+ Wx::EVT_GRID_SELECT_CELL,
331
+ Wx::GridEvent],
332
+ EventType['evt_help', 1,
333
+ Wx::EVT_HELP,
334
+ Wx::Event],
335
+ EventType['evt_help_range', 2,
336
+ Wx::EVT_HELP,
337
+ Wx::Event],
338
+ EventType['evt_hyperlink', 1,
339
+ Wx::EVT_COMMAND_HYPERLINK,
340
+ Wx::HyperlinkEvent],
341
+ EventType['evt_iconize', 0,
342
+ Wx::EVT_ICONIZE,
343
+ Wx::IconizeEvent],
344
+ EventType['evt_idle', 0,
345
+ Wx::EVT_IDLE,
346
+ Wx::IdleEvent],
347
+ EventType['evt_init_dialog', 0,
348
+ Wx::EVT_INIT_DIALOG,
349
+ Wx::Event],
350
+ EventType['evt_joy_button_down', 0,
351
+ Wx::EVT_JOY_BUTTON_DOWN,
352
+ Wx::Event],
353
+ EventType['evt_joy_button_up', 0,
354
+ Wx::EVT_JOY_BUTTON_UP,
355
+ Wx::Event],
356
+ EventType['evt_joy_move', 0,
357
+ Wx::EVT_JOY_MOVE,
358
+ Wx::Event],
359
+ EventType['evt_joy_zmove', 0,
360
+ Wx::EVT_JOY_ZMOVE,
361
+ Wx::Event],
362
+ EventType['evt_key_down', 0,
363
+ Wx::EVT_KEY_DOWN,
364
+ Wx::KeyEvent],
365
+ EventType['evt_key_up', 0,
366
+ Wx::EVT_KEY_UP,
367
+ Wx::KeyEvent],
368
+ EventType['evt_kill_focus', 0,
369
+ Wx::EVT_KILL_FOCUS,
370
+ Wx::FocusEvent],
371
+ EventType['evt_leave_window', 0,
372
+ Wx::EVT_LEAVE_WINDOW,
373
+ Wx::MouseEvent],
374
+ EventType['evt_left_dclick', 0,
375
+ Wx::EVT_LEFT_DCLICK,
376
+ Wx::MouseEvent],
377
+ EventType['evt_left_down', 0,
378
+ Wx::EVT_LEFT_DOWN,
379
+ Wx::MouseEvent],
380
+ EventType['evt_left_up', 0,
381
+ Wx::EVT_LEFT_UP,
382
+ Wx::MouseEvent],
383
+ EventType['evt_listbook_page_changed', 1,
384
+ Wx::EVT_COMMAND_LISTBOOK_PAGE_CHANGED,
385
+ Wx::ListbookEvent],
386
+ EventType['evt_listbook_page_changing', 1,
387
+ Wx::EVT_COMMAND_LISTBOOK_PAGE_CHANGING,
388
+ Wx::ListbookEvent],
389
+ EventType['evt_listbox', 1,
390
+ Wx::EVT_COMMAND_LISTBOX_SELECTED,
391
+ Wx::CommandEvent],
392
+ EventType['evt_listbox_dclick', 1,
393
+ Wx::EVT_COMMAND_LISTBOX_DOUBLECLICKED,
394
+ Wx::CommandEvent],
395
+ EventType['evt_list_begin_drag', 1,
396
+ Wx::EVT_COMMAND_LIST_BEGIN_DRAG,
397
+ Wx::ListEvent],
398
+ EventType['evt_list_begin_label_edit', 1,
399
+ Wx::EVT_COMMAND_LIST_BEGIN_LABEL_EDIT,
400
+ Wx::ListEvent],
401
+ EventType['evt_list_begin_rdrag', 1,
402
+ Wx::EVT_COMMAND_LIST_BEGIN_RDRAG,
403
+ Wx::ListEvent],
404
+ EventType['evt_list_cache_hint', 1,
405
+ Wx::EVT_COMMAND_LIST_CACHE_HINT,
406
+ Wx::ListEvent],
407
+ EventType['evt_list_col_begin_drag', 1,
408
+ Wx::EVT_COMMAND_LIST_COL_BEGIN_DRAG,
409
+ Wx::ListEvent],
410
+ EventType['evt_list_col_click', 1,
411
+ Wx::EVT_COMMAND_LIST_COL_CLICK,
412
+ Wx::ListEvent],
413
+ EventType['evt_list_col_dragging', 1,
414
+ Wx::EVT_COMMAND_LIST_COL_DRAGGING,
415
+ Wx::ListEvent],
416
+ EventType['evt_list_col_end_drag', 1,
417
+ Wx::EVT_COMMAND_LIST_COL_END_DRAG,
418
+ Wx::ListEvent],
419
+ EventType['evt_list_col_right_click', 1,
420
+ Wx::EVT_COMMAND_LIST_COL_RIGHT_CLICK,
421
+ Wx::ListEvent],
422
+ EventType['evt_list_delete_all_items', 1,
423
+ Wx::EVT_COMMAND_LIST_DELETE_ALL_ITEMS,
424
+ Wx::ListEvent],
425
+ EventType['evt_list_delete_item', 1,
426
+ Wx::EVT_COMMAND_LIST_DELETE_ITEM,
427
+ Wx::ListEvent],
428
+ EventType['evt_list_end_label_edit', 1,
429
+ Wx::EVT_COMMAND_LIST_END_LABEL_EDIT,
430
+ Wx::ListEvent],
431
+ EventType['evt_list_insert_item', 1,
432
+ Wx::EVT_COMMAND_LIST_INSERT_ITEM,
433
+ Wx::ListEvent],
434
+ EventType['evt_list_item_activated', 1,
435
+ Wx::EVT_COMMAND_LIST_ITEM_ACTIVATED,
436
+ Wx::ListEvent],
437
+ EventType['evt_list_item_deselected', 1,
438
+ Wx::EVT_COMMAND_LIST_ITEM_DESELECTED,
439
+ Wx::ListEvent],
440
+ EventType['evt_list_item_focused', 1,
441
+ Wx::EVT_COMMAND_LIST_ITEM_FOCUSED,
442
+ Wx::ListEvent],
443
+ EventType['evt_list_item_middle_click', 1,
444
+ Wx::EVT_COMMAND_LIST_ITEM_MIDDLE_CLICK,
445
+ Wx::ListEvent],
446
+ EventType['evt_list_item_right_click', 1,
447
+ Wx::EVT_COMMAND_LIST_ITEM_RIGHT_CLICK,
448
+ Wx::ListEvent],
449
+ EventType['evt_list_item_selected', 1,
450
+ Wx::EVT_COMMAND_LIST_ITEM_SELECTED,
451
+ Wx::ListEvent],
452
+ EventType['evt_list_key_down', 1,
453
+ Wx::EVT_COMMAND_LIST_KEY_DOWN,
454
+ Wx::ListEvent],
455
+ EventType['evt_maximize', 0,
456
+ Wx::EVT_MAXIMIZE,
457
+ Wx::Event],
458
+ EventType['evt_menu', 1,
459
+ Wx::EVT_COMMAND_MENU_SELECTED,
460
+ Wx::CommandEvent],
461
+ EventType['evt_menu_close', 0,
462
+ Wx::EVT_MENU_CLOSE,
463
+ Wx::MenuEvent],
464
+ EventType['evt_menu_highlight', 1,
465
+ Wx::EVT_MENU_HIGHLIGHT,
466
+ Wx::MenuEvent],
467
+ EventType['evt_menu_highlight_all', 0,
468
+ Wx::EVT_MENU_HIGHLIGHT,
469
+ Wx::MenuEvent],
470
+ EventType['evt_menu_open', 0,
471
+ Wx::EVT_MENU_OPEN,
472
+ Wx::MenuEvent],
473
+ EventType['evt_menu_range', 2,
474
+ Wx::EVT_COMMAND_MENU_SELECTED,
475
+ Wx::CommandEvent],
476
+ EventType['evt_middle_dclick', 0,
477
+ Wx::EVT_MIDDLE_DCLICK,
478
+ Wx::MouseEvent],
479
+ EventType['evt_middle_down', 0,
480
+ Wx::EVT_MIDDLE_DOWN,
481
+ Wx::MouseEvent],
482
+ EventType['evt_middle_up', 0,
483
+ Wx::EVT_MIDDLE_UP,
484
+ Wx::MouseEvent],
485
+ EventType['evt_motion', 0,
486
+ Wx::EVT_MOTION,
487
+ Wx::MouseEvent],
488
+ EventType['evt_mousewheel', 0,
489
+ Wx::EVT_MOUSEWHEEL,
490
+ Wx::MouseEvent],
491
+ EventType['evt_mouse_capture_changed', 0,
492
+ Wx::EVT_MOUSE_CAPTURE_CHANGED,
493
+ Wx::Event],
494
+ EventType['evt_move', 0,
495
+ Wx::EVT_MOVE,
496
+ Wx::MoveEvent],
497
+ EventType['evt_nc_paint', 0,
498
+ Wx::EVT_NC_PAINT,
499
+ Wx::Event],
500
+ EventType['evt_notebook_page_changed', 1,
501
+ Wx::EVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
502
+ Wx::NotebookEvent],
503
+ EventType['evt_notebook_page_changing', 1,
504
+ Wx::EVT_COMMAND_NOTEBOOK_PAGE_CHANGING,
505
+ Wx::NotebookEvent],
506
+ EventType['evt_paint', 0,
507
+ Wx::EVT_PAINT,
508
+ Wx::PaintEvent],
509
+ EventType['evt_query_end_session', 0,
510
+ Wx::EVT_QUERY_END_SESSION,
511
+ Wx::Event],
512
+ EventType['evt_query_layout_info', 0,
513
+ Wx::EVT_QUERY_LAYOUT_INFO,
514
+ Wx::Event],
515
+ EventType['evt_radiobox', 1,
516
+ Wx::EVT_COMMAND_RADIOBOX_SELECTED,
517
+ Wx::CommandEvent],
518
+ EventType['evt_radiobutton', 1,
519
+ Wx::EVT_COMMAND_RADIOBUTTON_SELECTED,
520
+ Wx::CommandEvent],
521
+ EventType['evt_right_dclick', 0,
522
+ Wx::EVT_RIGHT_DCLICK,
523
+ Wx::MouseEvent],
524
+ EventType['evt_right_down', 0,
525
+ Wx::EVT_RIGHT_DOWN,
526
+ Wx::MouseEvent],
527
+ EventType['evt_right_up', 0,
528
+ Wx::EVT_RIGHT_UP,
529
+ Wx::MouseEvent],
530
+ EventType['evt_sash_dragged', 1,
531
+ Wx::EVT_SASH_DRAGGED,
532
+ Wx::SashEvent],
533
+ EventType['evt_sash_dragged_range', 2,
534
+ Wx::EVT_SASH_DRAGGED,
535
+ Wx::SashEvent],
536
+ EventType['evt_scrollbar', 1,
537
+ Wx::EVT_COMMAND_SCROLLBAR_UPDATED,
538
+ Wx::CommandEvent],
539
+ EventType['evt_scrollwin_bottom', 0,
540
+ Wx::EVT_SCROLLWIN_TOP,
541
+ Wx::ScrollWinEvent],
542
+ EventType['evt_scrollwin_linedown', 0,
543
+ Wx::EVT_SCROLLWIN_LINEDOWN,
544
+ Wx::ScrollWinEvent],
545
+ EventType['evt_scrollwin_lineup', 0,
546
+ Wx::EVT_SCROLLWIN_LINEUP,
547
+ Wx::ScrollWinEvent],
548
+ EventType['evt_scrollwin_pagedown', 0,
549
+ Wx::EVT_SCROLLWIN_PAGEDOWN,
550
+ Wx::ScrollWinEvent],
551
+ EventType['evt_scrollwin_pageup', 0,
552
+ Wx::EVT_SCROLLWIN_PAGEUP,
553
+ Wx::ScrollWinEvent],
554
+ EventType['evt_scrollwin_thumbrelease', 0,
555
+ Wx::EVT_SCROLLWIN_THUMBRELEASE,
556
+ Wx::ScrollWinEvent],
557
+ EventType['evt_scrollwin_thumbtrack', 0,
558
+ Wx::EVT_SCROLLWIN_THUMBTRACK,
559
+ Wx::ScrollWinEvent],
560
+ EventType['evt_scrollwin_top', 0,
561
+ Wx::EVT_SCROLLWIN_TOP,
562
+ Wx::ScrollWinEvent],
563
+ EventType['evt_scroll_bottom', 0,
564
+ Wx::EVT_SCROLL_BOTTOM,
565
+ Wx::ScrollEvent],
566
+ EventType['evt_scroll_linedown', 0,
567
+ Wx::EVT_SCROLL_LINEDOWN,
568
+ Wx::ScrollEvent],
569
+ EventType['evt_scroll_lineup', 0,
570
+ Wx::EVT_SCROLL_LINEUP,
571
+ Wx::ScrollEvent],
572
+ EventType['evt_scroll_pagedown', 0,
573
+ Wx::EVT_SCROLL_PAGEDOWN,
574
+ Wx::ScrollEvent],
575
+ EventType['evt_scroll_pageup', 0,
576
+ Wx::EVT_SCROLL_PAGEUP,
577
+ Wx::ScrollEvent],
578
+ EventType['evt_scroll_thumbrelease', 0,
579
+ Wx::EVT_SCROLL_THUMBRELEASE,
580
+ Wx::ScrollEvent],
581
+ EventType['evt_scroll_thumbtrack', 0,
582
+ Wx::EVT_SCROLL_THUMBTRACK,
583
+ Wx::ScrollEvent],
584
+ EventType['evt_scroll_top', 0,
585
+ Wx::EVT_SCROLL_TOP,
586
+ Wx::ScrollEvent],
587
+ EventType['evt_set_cursor', 0,
588
+ Wx::EVT_SET_CURSOR,
589
+ Wx::SetCursorEvent],
590
+ EventType['evt_set_focus', 0,
591
+ Wx::EVT_SET_FOCUS,
592
+ Wx::FocusEvent],
593
+ EventType['evt_size', 0,
594
+ Wx::EVT_SIZE,
595
+ Wx::SizeEvent],
596
+ EventType['evt_sizing', 0,
597
+ Wx::EVT_SIZING,
598
+ Wx::SizeEvent],
599
+ EventType['evt_slider', 1,
600
+ Wx::EVT_COMMAND_SLIDER_UPDATED,
601
+ Wx::CommandEvent],
602
+ EventType['evt_socket', 1,
603
+ Wx::EVT_SOCKET,
604
+ Wx::Event],
605
+ EventType['evt_spin', 1,
606
+ Wx::EVT_SCROLL_THUMBTRACK,
607
+ Wx::ScrollEvent],
608
+ EventType['evt_spinctrl', 1,
609
+ Wx::EVT_COMMAND_SPINCTRL_UPDATED,
610
+ Wx::SpinEvent],
611
+ EventType['evt_spin_down', 1,
612
+ Wx::EVT_SCROLL_LINEDOWN,
613
+ Wx::ScrollEvent],
614
+ EventType['evt_spin_up', 1,
615
+ Wx::EVT_SCROLL_LINEUP,
616
+ Wx::ScrollEvent],
617
+ EventType['evt_splitter_dclick', 1,
618
+ Wx::EVT_COMMAND_SPLITTER_DOUBLECLICKED,
619
+ Wx::SplitterEvent],
620
+ EventType['evt_splitter_sash_pos_changed', 1,
621
+ Wx::EVT_COMMAND_SPLITTER_SASH_POS_CHANGED,
622
+ Wx::SplitterEvent],
623
+ EventType['evt_splitter_sash_pos_changing', 1,
624
+ Wx::EVT_COMMAND_SPLITTER_SASH_POS_CHANGING,
625
+ Wx::SplitterEvent],
626
+ EventType['evt_splitter_unsplit', 1,
627
+ Wx::EVT_COMMAND_SPLITTER_UNSPLIT,
628
+ Wx::SplitterEvent],
629
+ EventType['evt_sys_colour_changed', 0,
630
+ Wx::EVT_SYS_COLOUR_CHANGED,
631
+ Wx::Event],
632
+ EventType['evt_taskbar_left_dclick', 0,
633
+ Wx::EVT_TASKBAR_LEFT_DCLICK,
634
+ Wx::Event],
635
+ EventType['evt_taskbar_left_down', 0,
636
+ Wx::EVT_TASKBAR_LEFT_DOWN,
637
+ Wx::Event],
638
+ EventType['evt_taskbar_left_up', 0,
639
+ Wx::EVT_TASKBAR_LEFT_UP,
640
+ Wx::Event],
641
+ EventType['evt_taskbar_move', 0,
642
+ Wx::EVT_TASKBAR_MOVE,
643
+ Wx::Event],
644
+ EventType['evt_taskbar_right_dclick', 0,
645
+ Wx::EVT_TASKBAR_RIGHT_DCLICK,
646
+ Wx::Event],
647
+ EventType['evt_taskbar_right_down', 0,
648
+ Wx::EVT_TASKBAR_RIGHT_DOWN,
649
+ Wx::Event],
650
+ EventType['evt_taskbar_right_up', 0,
651
+ Wx::EVT_TASKBAR_RIGHT_UP,
652
+ Wx::Event],
653
+ EventType['evt_text', 1,
654
+ Wx::EVT_COMMAND_TEXT_UPDATED,
655
+ Wx::CommandEvent],
656
+ EventType['evt_text_enter', 1,
657
+ Wx::EVT_COMMAND_TEXT_ENTER,
658
+ Wx::CommandEvent],
659
+ EventType['evt_text_maxlen', 1,
660
+ Wx::EVT_COMMAND_TEXT_MAXLEN,
661
+ Wx::CommandEvent],
662
+ EventType['evt_text_url', 1,
663
+ Wx::EVT_COMMAND_TEXT_URL,
664
+ Wx::TextUrlEvent],
665
+ EventType['evt_timer', 1,
666
+ Wx::EVT_TIMER,
667
+ Wx::TimerEvent],
668
+ EventType['evt_togglebutton', 1,
669
+ Wx::EVT_COMMAND_TOGGLEBUTTON_CLICKED,
670
+ Wx::Event],
671
+ EventType['evt_tool', 1,
672
+ Wx::EVT_COMMAND_TOOL_CLICKED,
673
+ Wx::CommandEvent],
674
+ EventType['evt_tool_enter', 1,
675
+ Wx::EVT_COMMAND_TOOL_ENTER,
676
+ Wx::CommandEvent],
677
+ EventType['evt_tool_range', 2,
678
+ Wx::EVT_COMMAND_TOOL_CLICKED,
679
+ Wx::CommandEvent],
680
+ EventType['evt_tool_rclicked', 1,
681
+ Wx::EVT_COMMAND_TOOL_RCLICKED,
682
+ Wx::CommandEvent],
683
+ EventType['evt_tool_rclicked_range', 2,
684
+ Wx::EVT_COMMAND_TOOL_RCLICKED,
685
+ Wx::CommandEvent],
686
+ EventType['evt_tree_begin_drag', 1,
687
+ Wx::EVT_COMMAND_TREE_BEGIN_DRAG,
688
+ Wx::TreeEvent],
689
+ EventType['evt_tree_begin_label_edit', 1,
690
+ Wx::EVT_COMMAND_TREE_BEGIN_LABEL_EDIT,
691
+ Wx::TreeEvent],
692
+ EventType['evt_tree_begin_rdrag', 1,
693
+ Wx::EVT_COMMAND_TREE_BEGIN_RDRAG,
694
+ Wx::TreeEvent],
695
+ EventType['evt_tree_delete_item', 1,
696
+ Wx::EVT_COMMAND_TREE_DELETE_ITEM,
697
+ Wx::TreeEvent],
698
+ EventType['evt_tree_end_drag', 1,
699
+ Wx::EVT_COMMAND_TREE_END_DRAG,
700
+ Wx::TreeEvent],
701
+ EventType['evt_tree_end_label_edit', 1,
702
+ Wx::EVT_COMMAND_TREE_END_LABEL_EDIT,
703
+ Wx::TreeEvent],
704
+ EventType['evt_tree_get_info', 1,
705
+ Wx::EVT_COMMAND_TREE_GET_INFO,
706
+ Wx::TreeEvent],
707
+ EventType['evt_tree_item_activated', 1,
708
+ Wx::EVT_COMMAND_TREE_ITEM_ACTIVATED,
709
+ Wx::TreeEvent],
710
+ EventType['evt_tree_item_collapsed', 1,
711
+ Wx::EVT_COMMAND_TREE_ITEM_COLLAPSED,
712
+ Wx::TreeEvent],
713
+ EventType['evt_tree_item_collapsing', 1,
714
+ Wx::EVT_COMMAND_TREE_ITEM_COLLAPSING,
715
+ Wx::TreeEvent],
716
+ EventType['evt_tree_item_expanded', 1,
717
+ Wx::EVT_COMMAND_TREE_ITEM_EXPANDED,
718
+ Wx::TreeEvent],
719
+ EventType['evt_tree_item_expanding', 1,
720
+ Wx::EVT_COMMAND_TREE_ITEM_EXPANDING,
721
+ Wx::TreeEvent],
722
+ EventType['evt_tree_item_middle_click', 1,
723
+ Wx::EVT_COMMAND_TREE_ITEM_MIDDLE_CLICK,
724
+ Wx::TreeEvent],
725
+ EventType['evt_tree_item_right_click', 1,
726
+ Wx::EVT_COMMAND_TREE_ITEM_RIGHT_CLICK,
727
+ Wx::TreeEvent],
728
+ EventType['evt_tree_key_down', 1,
729
+ Wx::EVT_COMMAND_TREE_KEY_DOWN,
730
+ Wx::TreeEvent],
731
+ EventType['evt_tree_sel_changed', 1,
732
+ Wx::EVT_COMMAND_TREE_SEL_CHANGED,
733
+ Wx::TreeEvent],
734
+ EventType['evt_tree_sel_changing', 1,
735
+ Wx::EVT_COMMAND_TREE_SEL_CHANGING,
736
+ Wx::TreeEvent],
737
+ EventType['evt_tree_set_info', 1,
738
+ Wx::EVT_COMMAND_TREE_SET_INFO,
739
+ Wx::TreeEvent],
740
+ EventType['evt_update_ui', 1,
741
+ Wx::EVT_UPDATE_UI,
742
+ Wx::UpdateUIEvent],
743
+ EventType['evt_update_ui_range', 2,
744
+ Wx::EVT_UPDATE_UI,
745
+ Wx::UpdateUIEvent],
746
+ EventType['evt_window_create', 0,
747
+ Wx::EVT_CREATE,
748
+ Wx::WindowCreateEvent],
749
+ EventType['evt_window_destroy', 0,
750
+ Wx::EVT_DESTROY,
751
+ Wx::WindowDestroyEvent],
752
+ EventType['evt_wizard_cancel', 1,
753
+ Wx::EVT_WIZARD_CANCEL,
754
+ Wx::WizardEvent],
755
+ EventType['evt_wizard_finished', 1,
756
+ Wx::EVT_WIZARD_FINISHED,
757
+ Wx::WizardEvent],
758
+ EventType['evt_wizard_help', 1,
759
+ Wx::EVT_WIZARD_HELP,
760
+ Wx::WizardEvent],
761
+ EventType['evt_wizard_page_changed', 1,
762
+ Wx::EVT_WIZARD_PAGE_CHANGED,
763
+ Wx::WizardEvent],
764
+ EventType['evt_wizard_page_changing', 1,
765
+ Wx::EVT_WIZARD_PAGE_CHANGING,
766
+ Wx::WizardEvent]
767
+ ]
768
+
769
+ # Loop over the event definitions to set up two things:
770
+ # 1) A hash mapping Event Type ids to event classes, used when events
771
+ # are fired to quickly look up the right type to yield
772
+ # 2) EvtHandler instance methods like evt_xxx to conveniently set
773
+ # up event handlers
774
+ EVENT_DEFINITIONS.each { | ev_type | register_event_type(ev_type) }
775
+
776
+
777
+ # convenience evt_handler to listen to all mouse events
778
+ def evt_mouse_events(&block)
779
+ evt_left_down(&block)
780
+ evt_left_up(&block)
781
+ evt_middle_down(&block)
782
+ evt_middle_up(&block)
783
+ evt_right_down(&block)
784
+ evt_right_up(&block)
785
+ evt_motion(&block)
786
+ evt_left_dclick(&block)
787
+ evt_middle_dclick(&block)
788
+ evt_right_dclick(&block)
789
+ evt_leave_window(&block)
790
+ evt_enter_window(&block)
791
+ evt_mousewheel(&block)
792
+ end
793
+
794
+ # TODO
795
+ # if defined?(Wx::Scintilla)
796
+ # EVENT_TYPE_MAPPING.merge(
797
+ # Wx::EVT_SCI_CHANGE => Wx::ScintillaEvent,
798
+ # Wx::EVT_SCI_STYLENEEDED => Wx::ScintillaEvent,
799
+ # Wx::EVT_SCI_CHARADDED => Wx::ScintillaEvent,
800
+ # Wx::EVT_SCI_SAVEPOINTREACHED => Wx::ScintillaEvent,
801
+ # Wx::EVT_SCI_SAVEPOINTLEFT => Wx::ScintillaEvent,
802
+ # Wx::EVT_SCI_ROMODIFYATTEMPT => Wx::ScintillaEvent,
803
+ # Wx::EVT_SCI_KEY => Wx::ScintillaEvent,
804
+ # Wx::EVT_SCI_DOUBLECLICK => Wx::ScintillaEvent,
805
+ # Wx::EVT_SCI_UPDATEUI => Wx::ScintillaEvent,
806
+ # Wx::EVT_SCI_MODIFIED => Wx::ScintillaEvent,
807
+ # Wx::EVT_SCI_MACRORECORD => Wx::ScintillaEvent,
808
+ # Wx::EVT_SCI_MARGINCLICK => Wx::ScintillaEvent,
809
+ # Wx::EVT_SCI_NEEDSHOWN => Wx::ScintillaEvent,
810
+ # Wx::EVT_SCI_PAINTED => Wx::ScintillaEvent,
811
+ # Wx::EVT_SCI_USERLISTSELECTION => Wx::ScintillaEvent,
812
+ # Wx::EVT_SCI_URIDROPPED => Wx::ScintillaEvent,
813
+ # Wx::EVT_SCI_DWELLSTART => Wx::ScintillaEvent,
814
+ # Wx::EVT_SCI_DWELLEND => Wx::ScintillaEvent,
815
+ # Wx::EVT_SCI_START_DRAG => Wx::ScintillaEvent,
816
+ # Wx::EVT_SCI_DRAG_OVER => Wx::ScintillaEvent,
817
+ # Wx::EVT_SCI_DO_DROP => Wx::ScintillaEvent,
818
+ # Wx::EVT_SCI_ZOOM => Wx::ScintillaEvent,
819
+ # Wx::EVT_SCI_HOTSPOT_CLICK => Wx::ScintillaEvent,
820
+ # Wx::EVT_SCI_HOTSPOT_DCLICK => Wx::ScintillaEvent,
821
+ # Wx::EVT_SCI_CALLTIP_CLICK => Wx::ScintillaEvent )
822
+ # end
823
+ end
824
+