wxruby3 0.9.2-x64-mingw-ucrt → 0.9.4-x64-mingw-ucrt

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 (668) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +35 -29
  3. data/README.md +24 -15
  4. data/ext/wxbase32u_gcc_custom.dll +0 -0
  5. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  7. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  19. data/lib/wx/core/bitmap_combobox.rb +17 -21
  20. data/lib/wx/core/book_ctrl_base.rb +16 -0
  21. data/lib/wx/core/combobox.rb +13 -3
  22. data/lib/wx/core/config.rb +454 -83
  23. data/lib/wx/core/controlwithitems.rb +40 -130
  24. data/lib/wx/core/enum.rb +17 -1
  25. data/lib/wx/core/event.rb +6 -1
  26. data/lib/wx/core/events/evt_list.rb +5 -4
  27. data/lib/wx/core/evthandler.rb +8 -2
  28. data/lib/wx/core/generic_validator.rb +312 -0
  29. data/lib/wx/core/listbox.rb +2 -2
  30. data/lib/wx/core/log.rb +1 -1
  31. data/lib/wx/core/notebook.rb +10 -8
  32. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  33. data/lib/wx/core/peristent_object.rb +15 -0
  34. data/lib/wx/core/persistence_manager.rb +39 -0
  35. data/lib/wx/core/persistent_window.rb +16 -0
  36. data/lib/wx/core/size.rb +4 -0
  37. data/lib/wx/core/sizer.rb +1 -2
  38. data/lib/wx/core/standard_paths.rb +22 -0
  39. data/lib/wx/core/text_entry.rb +4 -1
  40. data/lib/wx/core/top_level_window.rb +16 -0
  41. data/lib/wx/core/treebook.rb +18 -0
  42. data/lib/wx/core/validator.rb +70 -5
  43. data/lib/wx/core/window.rb +3 -7
  44. data/lib/wx/core.rb +4 -0
  45. data/lib/wx/doc/art_locator.rb +1 -0
  46. data/lib/wx/doc/book_ctrl_base.rb +19 -0
  47. data/lib/wx/doc/comboctrl.rb +18 -0
  48. data/lib/wx/doc/config.rb +101 -41
  49. data/lib/wx/doc/controlwithitems.rb +16 -0
  50. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  51. data/lib/wx/doc/editable_listbox.rb +44 -0
  52. data/lib/wx/doc/enum.rb +15 -0
  53. data/lib/wx/doc/event.rb +12 -0
  54. data/lib/wx/doc/extra/12_client_data.md +89 -0
  55. data/lib/wx/doc/extra/13_validators.md +139 -0
  56. data/lib/wx/doc/extra/14_config.md +101 -0
  57. data/lib/wx/doc/extra/15_persistence.md +148 -0
  58. data/lib/wx/doc/gdi_common.rb +4 -0
  59. data/lib/wx/doc/gen/about_dialog_info.rb +25 -0
  60. data/lib/wx/doc/gen/accelerator.rb +7 -1
  61. data/lib/wx/doc/gen/accessible.rb +13 -0
  62. data/lib/wx/doc/gen/activity_indicator.rb +7 -0
  63. data/lib/wx/doc/gen/animation.rb +12 -0
  64. data/lib/wx/doc/gen/animation_ctrl.rb +10 -0
  65. data/lib/wx/doc/gen/any_button.rb +17 -1
  66. data/lib/wx/doc/gen/app.rb +35 -1
  67. data/lib/wx/doc/gen/app_traits.rb +38 -5
  68. data/lib/wx/doc/gen/art_provider.rb +14 -0
  69. data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -0
  70. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +1 -0
  71. data/lib/wx/doc/gen/aui/aui_manager.rb +24 -1
  72. data/lib/wx/doc/gen/aui/aui_manager_event.rb +9 -1
  73. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +3 -0
  74. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +2 -0
  75. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +3 -1
  76. data/lib/wx/doc/gen/aui/aui_notebook.rb +20 -2
  77. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +2 -1
  78. data/lib/wx/doc/gen/aui/aui_pane_info.rb +30 -1
  79. data/lib/wx/doc/gen/aui/aui_tab_art.rb +6 -0
  80. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +1 -0
  81. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +11 -0
  82. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +2 -0
  83. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +2 -1
  84. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +4 -0
  85. data/lib/wx/doc/gen/banner_window.rb +7 -0
  86. data/lib/wx/doc/gen/bitmap.rb +64 -3
  87. data/lib/wx/doc/gen/bitmap_button.rb +6 -1
  88. data/lib/wx/doc/gen/bitmap_combo_box.rb +9 -3
  89. data/lib/wx/doc/gen/book_ctrl_base.rb +17 -2
  90. data/lib/wx/doc/gen/book_ctrl_event.rb +3 -1
  91. data/lib/wx/doc/gen/box_sizer.rb +5 -0
  92. data/lib/wx/doc/gen/brush.rb +16 -1
  93. data/lib/wx/doc/gen/busy_info.rb +8 -0
  94. data/lib/wx/doc/gen/button.rb +11 -3
  95. data/lib/wx/doc/gen/calculate_layout_event.rb +4 -0
  96. data/lib/wx/doc/gen/calendar_ctrl.rb +22 -0
  97. data/lib/wx/doc/gen/calendar_date_attr.rb +1 -0
  98. data/lib/wx/doc/gen/calendar_event.rb +3 -1
  99. data/lib/wx/doc/gen/caret.rb +3 -0
  100. data/lib/wx/doc/gen/check_box.rb +10 -0
  101. data/lib/wx/doc/gen/check_list_box.rb +3 -0
  102. data/lib/wx/doc/gen/choice.rb +14 -2
  103. data/lib/wx/doc/gen/choicebook.rb +1 -0
  104. data/lib/wx/doc/gen/client_dc.rb +1 -0
  105. data/lib/wx/doc/gen/clipboard.rb +9 -0
  106. data/lib/wx/doc/gen/collapsible_pane.rb +3 -0
  107. data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -0
  108. data/lib/wx/doc/gen/colour.rb +20 -0
  109. data/lib/wx/doc/gen/colour_dialog.rb +10 -0
  110. data/lib/wx/doc/gen/colour_picker_ctrl.rb +4 -0
  111. data/lib/wx/doc/gen/colour_picker_event.rb +1 -0
  112. data/lib/wx/doc/gen/combo_box.rb +20 -1
  113. data/lib/wx/doc/gen/combo_ctrl.rb +54 -295
  114. data/lib/wx/doc/gen/command_link_button.rb +8 -0
  115. data/lib/wx/doc/gen/context_help_button.rb +7 -1
  116. data/lib/wx/doc/gen/control.rb +12 -0
  117. data/lib/wx/doc/gen/control_with_items.rb +45 -9
  118. data/lib/wx/doc/gen/core.rb +2 -2
  119. data/lib/wx/doc/gen/cursor.rb +4 -0
  120. data/lib/wx/doc/gen/data_format.rb +1 -0
  121. data/lib/wx/doc/gen/data_object.rb +27 -5
  122. data/lib/wx/doc/gen/date_event.rb +2 -1
  123. data/lib/wx/doc/gen/date_picker_ctrl.rb +7 -1
  124. data/lib/wx/doc/gen/dc.rb +87 -3
  125. data/lib/wx/doc/gen/dial_up_event.rb +2 -0
  126. data/lib/wx/doc/gen/dial_up_manager.rb +12 -0
  127. data/lib/wx/doc/gen/dialog.rb +42 -3
  128. data/lib/wx/doc/gen/dir_dialog.rb +6 -1
  129. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -0
  130. data/lib/wx/doc/gen/dir_picker_ctrl.rb +5 -0
  131. data/lib/wx/doc/gen/drag_drop.rb +20 -0
  132. data/lib/wx/doc/gen/drag_image.rb +7 -0
  133. data/lib/wx/doc/gen/editable_list_box.rb +5 -3
  134. data/lib/wx/doc/gen/event.rb +26 -11
  135. data/lib/wx/doc/gen/event_blocker.rb +2 -1
  136. data/lib/wx/doc/gen/event_filter.rb +3 -2
  137. data/lib/wx/doc/gen/event_list.rb +4 -4
  138. data/lib/wx/doc/gen/events.rb +165 -26
  139. data/lib/wx/doc/gen/evt_handler.rb +40 -2
  140. data/lib/wx/doc/gen/ext_help_controller.rb +9 -0
  141. data/lib/wx/doc/gen/file_ctrl.rb +11 -2
  142. data/lib/wx/doc/gen/file_ctrl_event.rb +5 -1
  143. data/lib/wx/doc/gen/file_dialog.rb +13 -0
  144. data/lib/wx/doc/gen/file_dialog_custom_control.rb +12 -0
  145. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +11 -2
  146. data/lib/wx/doc/gen/file_dir_picker_event.rb +2 -1
  147. data/lib/wx/doc/gen/file_picker_ctrl.rb +4 -0
  148. data/lib/wx/doc/gen/file_system.rb +17 -1
  149. data/lib/wx/doc/gen/find_dialog_event.rb +2 -1
  150. data/lib/wx/doc/gen/find_replace_data.rb +1 -0
  151. data/lib/wx/doc/gen/find_replace_dialog.rb +3 -0
  152. data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -0
  153. data/lib/wx/doc/gen/font.rb +75 -3
  154. data/lib/wx/doc/gen/font_data.rb +14 -0
  155. data/lib/wx/doc/gen/font_dialog.rb +6 -0
  156. data/lib/wx/doc/gen/font_picker_ctrl.rb +8 -0
  157. data/lib/wx/doc/gen/font_picker_event.rb +1 -0
  158. data/lib/wx/doc/gen/frame.rb +24 -7
  159. data/lib/wx/doc/gen/fs_file.rb +22 -0
  160. data/lib/wx/doc/gen/gauge.rb +8 -0
  161. data/lib/wx/doc/gen/gb_sizer_item.rb +5 -0
  162. data/lib/wx/doc/gen/gcdc.rb +2 -0
  163. data/lib/wx/doc/gen/gdi_common.rb +50 -8
  164. data/lib/wx/doc/gen/gdi_object.rb +1 -0
  165. data/lib/wx/doc/gen/generic_dir_ctrl.rb +7 -0
  166. data/lib/wx/doc/gen/graphics_context.rb +36 -7
  167. data/lib/wx/doc/gen/graphics_object.rb +24 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +2 -2
  169. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +14 -4
  170. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -2
  171. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +1 -2
  172. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -2
  173. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -2
  174. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -2
  175. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -2
  176. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -2
  177. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +1 -2
  178. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +9 -2
  179. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -2
  180. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -2
  181. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -2
  182. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -2
  183. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -2
  184. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -2
  185. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +6 -2
  186. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -2
  187. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -2
  188. data/lib/wx/doc/gen/grid/grid_ctrl.rb +229 -7
  189. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +4 -1
  190. data/lib/wx/doc/gen/grid/grid_event.rb +4 -1
  191. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +2 -1
  192. data/lib/wx/doc/gen/grid/grid_size_event.rb +2 -1
  193. data/lib/wx/doc/gen/grid/grid_string_table.rb +7 -0
  194. data/lib/wx/doc/gen/grid/grid_table_base.rb +27 -1
  195. data/lib/wx/doc/gen/grid/grid_table_message.rb +1 -0
  196. data/lib/wx/doc/gen/grid_bag_sizer.rb +24 -4
  197. data/lib/wx/doc/gen/grid_sizer.rb +11 -0
  198. data/lib/wx/doc/gen/gui_event_loop.rb +12 -2
  199. data/lib/wx/doc/gen/header_ctrl.rb +106 -6
  200. data/lib/wx/doc/gen/header_ctrl_event.rb +5 -1
  201. data/lib/wx/doc/gen/help_controller.rb +11 -0
  202. data/lib/wx/doc/gen/help_provider.rb +12 -3
  203. data/lib/wx/doc/gen/html/html_cell.rb +25 -0
  204. data/lib/wx/doc/gen/html/html_cell_event.rb +3 -1
  205. data/lib/wx/doc/gen/html/html_easy_printing.rb +13 -1
  206. data/lib/wx/doc/gen/html/html_help_controller.rb +18 -0
  207. data/lib/wx/doc/gen/html/html_help_data.rb +5 -0
  208. data/lib/wx/doc/gen/html/html_help_window.rb +8 -0
  209. data/lib/wx/doc/gen/html/html_link_event.rb +1 -0
  210. data/lib/wx/doc/gen/html/html_list_box.rb +49 -9
  211. data/lib/wx/doc/gen/html/html_printout.rb +7 -0
  212. data/lib/wx/doc/gen/html/html_window.rb +31 -0
  213. data/lib/wx/doc/gen/hyperlink_ctrl.rb +2 -1
  214. data/lib/wx/doc/gen/hyperlink_event.rb +1 -0
  215. data/lib/wx/doc/gen/icon.rb +19 -1
  216. data/lib/wx/doc/gen/icon_location.rb +1 -0
  217. data/lib/wx/doc/gen/image.rb +67 -10
  218. data/lib/wx/doc/gen/image_list.rb +12 -2
  219. data/lib/wx/doc/gen/info_bar.rb +12 -0
  220. data/lib/wx/doc/gen/keyboard_state.rb +11 -0
  221. data/lib/wx/doc/gen/list_box.rb +20 -3
  222. data/lib/wx/doc/gen/list_ctrl.rb +89 -0
  223. data/lib/wx/doc/gen/list_event.rb +11 -1
  224. data/lib/wx/doc/gen/listbook.rb +1 -0
  225. data/lib/wx/doc/gen/locale.rb +22 -0
  226. data/lib/wx/doc/gen/log.rb +42 -0
  227. data/lib/wx/doc/gen/mdi_client_window.rb +4 -1
  228. data/lib/wx/doc/gen/mdi_frame.rb +27 -4
  229. data/lib/wx/doc/gen/media_ctrl.rb +17 -0
  230. data/lib/wx/doc/gen/media_event.rb +2 -1
  231. data/lib/wx/doc/gen/memory_dc.rb +10 -0
  232. data/lib/wx/doc/gen/menu.rb +48 -7
  233. data/lib/wx/doc/gen/menu_bar.rb +32 -13
  234. data/lib/wx/doc/gen/menu_item.rb +26 -0
  235. data/lib/wx/doc/gen/message_dialog.rb +10 -0
  236. data/lib/wx/doc/gen/mini_frame.rb +5 -2
  237. data/lib/wx/doc/gen/mirror_dc.rb +1 -0
  238. data/lib/wx/doc/gen/mouse_state.rb +1 -0
  239. data/lib/wx/doc/gen/multi_choice_dialog.rb +3 -1
  240. data/lib/wx/doc/gen/non_owned_window.rb +3 -0
  241. data/lib/wx/doc/gen/notebook.rb +11 -1
  242. data/lib/wx/doc/gen/num_validator.rb +37 -0
  243. data/lib/wx/doc/gen/number_entry_dialog.rb +4 -0
  244. data/lib/wx/doc/gen/object.rb +3 -0
  245. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
  246. data/lib/wx/doc/gen/paint_dc.rb +1 -0
  247. data/lib/wx/doc/gen/palette.rb +5 -0
  248. data/lib/wx/doc/gen/panel.rb +10 -2
  249. data/lib/wx/doc/gen/pen.rb +30 -1
  250. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  251. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  252. data/lib/wx/doc/gen/persistent_window.rb +116 -0
  253. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +2 -1
  254. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +4 -1
  255. data/lib/wx/doc/gen/pg/pg_cell.rb +6 -1
  256. data/lib/wx/doc/gen/pg/pg_editor.rb +61 -15
  257. data/lib/wx/doc/gen/pg/pg_multi_button.rb +2 -0
  258. data/lib/wx/doc/gen/pg/pg_properties.rb +198 -81
  259. data/lib/wx/doc/gen/pg/pg_property.rb +129 -52
  260. data/lib/wx/doc/gen/pg/pg_validation_info.rb +2 -0
  261. data/lib/wx/doc/gen/pg/property_grid.rb +56 -14
  262. data/lib/wx/doc/gen/pg/property_grid_event.rb +16 -6
  263. data/lib/wx/doc/gen/pg/property_grid_interface.rb +98 -37
  264. data/lib/wx/doc/gen/pg/property_grid_manager.rb +29 -7
  265. data/lib/wx/doc/gen/pg/property_grid_page.rb +11 -4
  266. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +7 -2
  267. data/lib/wx/doc/gen/picker_base.rb +11 -1
  268. data/lib/wx/doc/gen/platform_info.rb +31 -0
  269. data/lib/wx/doc/gen/popup_window.rb +5 -0
  270. data/lib/wx/doc/gen/progress_dialog.rb +4 -0
  271. data/lib/wx/doc/gen/property_sheet_dialog.rb +7 -1
  272. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -0
  273. data/lib/wx/doc/gen/prt/post_script_dc.rb +1 -0
  274. data/lib/wx/doc/gen/prt/preview_frame.rb +4 -0
  275. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -0
  276. data/lib/wx/doc/gen/prt/print_data.rb +27 -0
  277. data/lib/wx/doc/gen/prt/print_dialog.rb +4 -0
  278. data/lib/wx/doc/gen/prt/printer.rb +42 -5
  279. data/lib/wx/doc/gen/prt/printer_dc.rb +2 -0
  280. data/lib/wx/doc/gen/query_layout_info_event.rb +9 -0
  281. data/lib/wx/doc/gen/radio_box.rb +19 -0
  282. data/lib/wx/doc/gen/radio_button.rb +9 -0
  283. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +63 -0
  284. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +23 -0
  285. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +2 -1
  286. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +35 -9
  287. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +2 -1
  288. data/lib/wx/doc/gen/rbn/ribbon_control.rb +10 -0
  289. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +17 -7
  290. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -1
  291. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -0
  292. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +11 -0
  293. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +2 -1
  294. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +25 -0
  295. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +2 -1
  296. data/lib/wx/doc/gen/rearrange_ctrl.rb +4 -0
  297. data/lib/wx/doc/gen/rearrange_list.rb +9 -0
  298. data/lib/wx/doc/gen/region.rb +42 -13
  299. data/lib/wx/doc/gen/region_iterator.rb +1 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_box.rb +25 -8
  301. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +41 -4
  302. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -0
  303. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -11
  304. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +74 -0
  305. data/lib/wx/doc/gen/rtc/rich_text_event.rb +6 -1
  306. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -0
  307. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +6 -0
  308. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +1 -0
  309. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +4 -0
  310. data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -0
  311. data/lib/wx/doc/gen/rtc/rich_text_object.rb +64 -4
  312. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +51 -4
  313. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +13 -0
  314. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +9 -4
  315. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +3 -0
  316. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +2 -0
  317. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +1 -0
  318. data/lib/wx/doc/gen/sash_event.rb +5 -1
  319. data/lib/wx/doc/gen/sash_layout_window.rb +10 -0
  320. data/lib/wx/doc/gen/sash_window.rb +3 -0
  321. data/lib/wx/doc/gen/screen_dc.rb +1 -0
  322. data/lib/wx/doc/gen/scroll_bar.rb +11 -2
  323. data/lib/wx/doc/gen/scrolled_canvas.rb +20 -4
  324. data/lib/wx/doc/gen/scrolled_control.rb +20 -4
  325. data/lib/wx/doc/gen/scrolled_window.rb +20 -4
  326. data/lib/wx/doc/gen/search_ctrl.rb +6 -0
  327. data/lib/wx/doc/gen/simplebook.rb +7 -0
  328. data/lib/wx/doc/gen/single_choice_dialog.rb +3 -1
  329. data/lib/wx/doc/gen/sizer.rb +79 -9
  330. data/lib/wx/doc/gen/sizer_item.rb +16 -2
  331. data/lib/wx/doc/gen/slider.rb +23 -0
  332. data/lib/wx/doc/gen/spin_button.rb +9 -0
  333. data/lib/wx/doc/gen/spin_ctrl.rb +11 -0
  334. data/lib/wx/doc/gen/spin_ctrl_double.rb +7 -0
  335. data/lib/wx/doc/gen/spin_double_event.rb +4 -1
  336. data/lib/wx/doc/gen/spin_event.rb +2 -1
  337. data/lib/wx/doc/gen/splash_screen.rb +2 -0
  338. data/lib/wx/doc/gen/splitter_event.rb +10 -1
  339. data/lib/wx/doc/gen/splitter_window.rb +38 -14
  340. data/lib/wx/doc/gen/static_bitmap.rb +99 -2
  341. data/lib/wx/doc/gen/static_box.rb +6 -0
  342. data/lib/wx/doc/gen/static_box_sizer.rb +3 -0
  343. data/lib/wx/doc/gen/static_line.rb +4 -0
  344. data/lib/wx/doc/gen/static_text.rb +5 -0
  345. data/lib/wx/doc/gen/status_bar.rb +17 -3
  346. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +174 -6
  347. data/lib/wx/doc/gen/stc/styled_text_event.rb +27 -1
  348. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -0
  349. data/lib/wx/doc/gen/svg_file_dc.rb +9 -0
  350. data/lib/wx/doc/gen/system_options.rb +8 -0
  351. data/lib/wx/doc/gen/system_settings.rb +7 -0
  352. data/lib/wx/doc/gen/task_bar_button.rb +12 -0
  353. data/lib/wx/doc/gen/task_bar_icon.rb +5 -0
  354. data/lib/wx/doc/gen/task_bar_icon_event.rb +2 -1
  355. data/lib/wx/doc/gen/text_attr.rb +27 -0
  356. data/lib/wx/doc/gen/text_ctrl.rb +27 -3
  357. data/lib/wx/doc/gen/text_entry.rb +43 -9
  358. data/lib/wx/doc/gen/text_entry_dialog.rb +12 -0
  359. data/lib/wx/doc/gen/text_validator.rb +16 -0
  360. data/lib/wx/doc/gen/time_picker_ctrl.rb +6 -0
  361. data/lib/wx/doc/gen/timer.rb +8 -0
  362. data/lib/wx/doc/gen/timer_event.rb +1 -0
  363. data/lib/wx/doc/gen/tip_provider.rb +5 -0
  364. data/lib/wx/doc/gen/toggle_button.rb +68 -0
  365. data/lib/wx/doc/gen/tool_bar.rb +57 -14
  366. data/lib/wx/doc/gen/tool_tip.rb +6 -0
  367. data/lib/wx/doc/gen/toolbook.rb +3 -0
  368. data/lib/wx/doc/gen/top_level_window.rb +34 -3
  369. data/lib/wx/doc/gen/tree_ctrl.rb +49 -0
  370. data/lib/wx/doc/gen/tree_event.rb +7 -1
  371. data/lib/wx/doc/gen/treebook.rb +9 -0
  372. data/lib/wx/doc/gen/ui_action_simulator.rb +4 -0
  373. data/lib/wx/doc/gen/utils.rb +55 -16
  374. data/lib/wx/doc/gen/v_list_box.rb +21 -0
  375. data/lib/wx/doc/gen/v_scrolled_window.rb +15 -0
  376. data/lib/wx/doc/gen/validator.rb +9 -13
  377. data/lib/wx/doc/gen/variant.rb +6 -0
  378. data/lib/wx/doc/gen/window.rb +260 -52
  379. data/lib/wx/doc/gen/window_dc.rb +2 -0
  380. data/lib/wx/doc/gen/window_disabler.rb +1 -0
  381. data/lib/wx/doc/gen/with_images.rb +7 -1
  382. data/lib/wx/doc/gen/wizard.rb +18 -0
  383. data/lib/wx/doc/gen/wizard_event.rb +3 -1
  384. data/lib/wx/doc/gen/wizard_page.rb +5 -0
  385. data/lib/wx/doc/gen/wizard_page_simple.rb +4 -0
  386. data/lib/wx/doc/gen/wrap_sizer.rb +5 -0
  387. data/lib/wx/doc/gen/xml_node.rb +14 -0
  388. data/lib/wx/doc/gen/xml_resource.rb +22 -0
  389. data/lib/wx/doc/generic_validator.rb +95 -0
  390. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  391. data/lib/wx/doc/num_validator.rb +387 -0
  392. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  393. data/lib/wx/doc/persistence_manager.rb +36 -0
  394. data/lib/wx/doc/persistent_object.rb +27 -0
  395. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  396. data/lib/wx/doc/static_bitmap.rb +25 -0
  397. data/lib/wx/doc/text_validator.rb +10 -0
  398. data/lib/wx/doc/top_level_window.rb +19 -0
  399. data/lib/wx/doc/treebook.rb +6 -1
  400. data/lib/wx/doc/validator.rb +113 -0
  401. data/lib/wx/doc/window.rb +30 -0
  402. data/lib/wx/html/events/evt_list.rb +0 -10
  403. data/lib/wx/html/simple_html_listbox.rb +24 -91
  404. data/lib/wx/keyword_defs.rb +34 -2
  405. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  406. data/lib/wx/version.rb +1 -1
  407. data/lib/wxruby_aui.so +0 -0
  408. data/lib/wxruby_core.so +0 -0
  409. data/lib/wxruby_grid.so +0 -0
  410. data/lib/wxruby_html.so +0 -0
  411. data/lib/wxruby_pg.so +0 -0
  412. data/lib/wxruby_prt.so +0 -0
  413. data/lib/wxruby_rbn.so +0 -0
  414. data/lib/wxruby_rtc.so +0 -0
  415. data/lib/wxruby_stc.so +0 -0
  416. data/rakelib/lib/config/mingw.rb +12 -0
  417. data/samples/aui/aui.rb +1237 -1233
  418. data/samples/calendar/calendar.rb +293 -289
  419. data/samples/controls/get_item_sample.rb +83 -79
  420. data/samples/controls/htlbox.rb +331 -327
  421. data/samples/dialogs/dialogs.rb +682 -694
  422. data/samples/dialogs/wizard.rb +52 -55
  423. data/samples/dragdrop/dragdrop.rb +146 -142
  424. data/samples/drawing/bitmap.rb +29 -26
  425. data/samples/drawing/bitmap_image.rb +84 -80
  426. data/samples/drawing/graphics_drawing.rb +209 -205
  427. data/samples/drawing/image_prt.rb +344 -340
  428. data/samples/drawing/maths_images.rb +18 -1
  429. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  430. data/samples/etc/caret.rb +306 -0
  431. data/samples/etc/miniframe.rb +65 -60
  432. data/samples/etc/sash.rb +109 -105
  433. data/samples/etc/scrollwin.rb +86 -80
  434. data/samples/etc/system_settings.rb +216 -209
  435. data/samples/event/activation.rb +72 -67
  436. data/samples/event/event.rb +160 -153
  437. data/samples/event/threaded.rb +8 -1
  438. data/samples/event/update_ui_event.rb +67 -60
  439. data/samples/grid/grid.rb +188 -181
  440. data/samples/grid/gridtablebase.rb +136 -129
  441. data/samples/html/html.rb +208 -204
  442. data/samples/mdi/mdi.rb +59 -54
  443. data/samples/minimal/minimal.rb +54 -51
  444. data/samples/minimal/nothing.rb +1 -0
  445. data/samples/printing/printing.rb +367 -377
  446. data/samples/printing/printing2.rb +203 -198
  447. data/samples/propgrid/propgrid.rb +2312 -2308
  448. data/samples/propgrid/propgrid_minimal.rb +57 -50
  449. data/samples/ribbon/ribbon.rb +780 -774
  450. data/samples/sampler/ext.rb +0 -33
  451. data/samples/sampler/sample.rb +4 -9
  452. data/samples/sampler.rb +1 -1
  453. data/samples/splash/splash.rb +118 -116
  454. data/samples/text/rich_textctrl.rb +207 -201
  455. data/samples/text/richtext.rb +1409 -1405
  456. data/samples/text/scintilla.rb +137 -128
  457. data/samples/text/textctrl.rb +89 -83
  458. data/samples/text/unicode.rb +175 -168
  459. data/samples/treectrl/treectrl.rb +1430 -1426
  460. data/samples/widgets/activityindicator.rb +95 -0
  461. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  462. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  463. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  464. data/samples/widgets/art/widgets/button.xpm +54 -0
  465. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  466. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  467. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  468. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  469. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  470. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  471. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  472. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  473. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  474. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  475. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  476. data/samples/widgets/art/widgets/header.xpm +54 -0
  477. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  478. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  479. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  480. data/samples/widgets/art/widgets/native.xpm +81 -0
  481. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  482. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  483. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  484. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  485. data/samples/widgets/art/widgets/slider.xpm +54 -0
  486. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  487. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  488. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  489. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  490. data/samples/widgets/art/widgets/text.xpm +54 -0
  491. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  492. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  493. data/samples/widgets/art/widgets/toucan.png +0 -0
  494. data/samples/widgets/bmpcombobox.rb +651 -0
  495. data/samples/widgets/button.rb +462 -0
  496. data/samples/widgets/checkbox.rb +211 -0
  497. data/samples/widgets/choice.rb +287 -0
  498. data/samples/widgets/clrpicker.rb +156 -0
  499. data/samples/widgets/combobox.rb +516 -0
  500. data/samples/widgets/datepick.rb +215 -0
  501. data/samples/widgets/dirctrl.rb +265 -0
  502. data/samples/widgets/dirpicker.rb +158 -0
  503. data/samples/widgets/editlbox.rb +122 -0
  504. data/samples/widgets/filectrl.rb +216 -0
  505. data/samples/widgets/filepicker.rb +214 -0
  506. data/samples/widgets/fontpicker.rb +135 -0
  507. data/samples/widgets/gauge.rb +311 -0
  508. data/samples/widgets/headerctrl.rb +236 -0
  509. data/samples/widgets/hyperlink.rb +203 -0
  510. data/samples/widgets/itemcontainer.rb +185 -0
  511. data/samples/widgets/listbox.rb +473 -0
  512. data/samples/widgets/notebook.rb +488 -0
  513. data/samples/widgets/odcombobox.rb +608 -0
  514. data/samples/widgets/radiobox.rb +328 -0
  515. data/samples/widgets/searchctrl.rb +159 -0
  516. data/samples/widgets/slider.rb +594 -0
  517. data/samples/widgets/spinbtn.rb +443 -0
  518. data/samples/widgets/statbmp.rb +130 -0
  519. data/samples/widgets/static.rb +436 -0
  520. data/samples/widgets/textctrl.rb +700 -0
  521. data/samples/widgets/timepick.rb +148 -0
  522. data/samples/widgets/tn_widgets.png +0 -0
  523. data/samples/widgets/toggle.rb +385 -0
  524. data/samples/widgets/widgets.rb +1229 -0
  525. data/samples/xrc/custom_xrc_sample.rb +47 -41
  526. data/samples/xrc/xrc_sample.rb +53 -47
  527. data/tests/test_config.rb +207 -42
  528. data/tests/test_event_handling.rb +52 -34
  529. data/tests/test_events.rb +7 -0
  530. data/tests/test_item_data.rb +24 -0
  531. data/tests/test_persistence.rb +142 -0
  532. data/tests/test_sizer.rb +44 -1
  533. data/tests/test_validators.rb +805 -0
  534. metadata +103 -137
  535. data/lib/wx/core/choice.rb +0 -14
  536. data/lib/wx/core/combo_ctrl.rb +0 -110
  537. data/samples/bigdemo/About.rbw +0 -39
  538. data/samples/bigdemo/ColorPanel.rbw +0 -23
  539. data/samples/bigdemo/GridSimple.rbw +0 -78
  540. data/samples/bigdemo/MDIDemo.rbw +0 -57
  541. data/samples/bigdemo/PopupMenu.rbw +0 -146
  542. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  543. data/samples/bigdemo/Sizers.rbw +0 -541
  544. data/samples/bigdemo/bigdemo.rb +0 -817
  545. data/samples/bigdemo/demoTemplate.rbw +0 -33
  546. data/samples/bigdemo/helpfile.htb +0 -0
  547. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  548. data/samples/bigdemo/icons/Test 015.png +0 -0
  549. data/samples/bigdemo/icons/choice.bmp +0 -0
  550. data/samples/bigdemo/icons/combo.bmp +0 -0
  551. data/samples/bigdemo/icons/combo.xpm +0 -27
  552. data/samples/bigdemo/icons/copy.xpm +0 -25
  553. data/samples/bigdemo/icons/cut.xpm +0 -24
  554. data/samples/bigdemo/icons/gauge.bmp +0 -0
  555. data/samples/bigdemo/icons/gauge.xpm +0 -27
  556. data/samples/bigdemo/icons/help.xpm +0 -25
  557. data/samples/bigdemo/icons/list.bmp +0 -0
  558. data/samples/bigdemo/icons/list.xpm +0 -27
  559. data/samples/bigdemo/icons/mondrian.ico +0 -0
  560. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  561. data/samples/bigdemo/icons/new.xpm +0 -24
  562. data/samples/bigdemo/icons/ogl.ico +0 -0
  563. data/samples/bigdemo/icons/ogl.xpm +0 -45
  564. data/samples/bigdemo/icons/open.xpm +0 -26
  565. data/samples/bigdemo/icons/paste.bmp +0 -0
  566. data/samples/bigdemo/icons/paste.xpm +0 -38
  567. data/samples/bigdemo/icons/pointy.png +0 -0
  568. data/samples/bigdemo/icons/preview.xpm +0 -26
  569. data/samples/bigdemo/icons/print.xpm +0 -26
  570. data/samples/bigdemo/icons/radio.bmp +0 -0
  571. data/samples/bigdemo/icons/radio.xpm +0 -27
  572. data/samples/bigdemo/icons/robert.xpm +0 -415
  573. data/samples/bigdemo/icons/sashtest.ico +0 -0
  574. data/samples/bigdemo/icons/save.xpm +0 -25
  575. data/samples/bigdemo/icons/smiles.bmp +0 -0
  576. data/samples/bigdemo/icons/smiles.xpm +0 -39
  577. data/samples/bigdemo/icons/smiley.ico +0 -0
  578. data/samples/bigdemo/icons/smiley.xpm +0 -42
  579. data/samples/bigdemo/icons/stattext.xpm +0 -24
  580. data/samples/bigdemo/icons/test2.bmp +0 -0
  581. data/samples/bigdemo/icons/test2.png +0 -0
  582. data/samples/bigdemo/icons/test2.xpm +0 -79
  583. data/samples/bigdemo/icons/text.bmp +0 -0
  584. data/samples/bigdemo/icons/text.xpm +0 -27
  585. data/samples/bigdemo/icons/tog1.bmp +0 -0
  586. data/samples/bigdemo/icons/tog1.xpm +0 -38
  587. data/samples/bigdemo/icons/tog2.bmp +0 -0
  588. data/samples/bigdemo/icons/tog2.xpm +0 -38
  589. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  590. data/samples/bigdemo/icons/wxwin.ico +0 -0
  591. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  592. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  593. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  594. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  595. data/samples/bigdemo/run.rb +0 -98
  596. data/samples/bigdemo/tips.txt +0 -7
  597. data/samples/bigdemo/utils.rb +0 -20
  598. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  599. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  600. data/samples/bigdemo/wxButton.rbw +0 -64
  601. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  602. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  603. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  604. data/samples/bigdemo/wxChoice.rbw +0 -47
  605. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  606. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  607. data/samples/bigdemo/wxComboBox.rbw +0 -77
  608. data/samples/bigdemo/wxCursor.rbw +0 -136
  609. data/samples/bigdemo/wxDialog.rbw +0 -74
  610. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  611. data/samples/bigdemo/wxDragImage.rbw +0 -70
  612. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  613. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  614. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  615. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  616. data/samples/bigdemo/wxFrame.rbw +0 -53
  617. data/samples/bigdemo/wxGauge.rbw +0 -65
  618. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  619. data/samples/bigdemo/wxGrid.rbw +0 -66
  620. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  621. data/samples/bigdemo/wxListBox.rbw +0 -140
  622. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  623. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  624. data/samples/bigdemo/wxMenu.rbw +0 -247
  625. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  626. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  627. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  628. data/samples/bigdemo/wxNotebook.rbw +0 -136
  629. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  630. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  631. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  632. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  633. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  634. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  635. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  636. data/samples/bigdemo/wxSlider.rbw +0 -42
  637. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  638. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  639. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  640. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  641. data/samples/bigdemo/wxStaticText.rbw +0 -55
  642. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  643. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  644. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  645. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  646. data/samples/bigdemo/wxToolBar.rbw +0 -131
  647. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  648. data/samples/caret/caret.rb +0 -298
  649. data/samples/caret/mondrian.xpm +0 -44
  650. data/samples/controls/books.rb +0 -189
  651. data/samples/controls/choice.xpm +0 -27
  652. data/samples/controls/combo.xpm +0 -27
  653. data/samples/controls/controls.rb +0 -1099
  654. data/samples/controls/gauge.xpm +0 -27
  655. data/samples/controls/list.xpm +0 -27
  656. data/samples/controls/mondrian.ico +0 -0
  657. data/samples/controls/mondrian.xpm +0 -44
  658. data/samples/controls/radio.xpm +0 -27
  659. data/samples/controls/stattext.xpm +0 -24
  660. data/samples/controls/test2.bmp +0 -0
  661. data/samples/controls/text.xpm +0 -27
  662. data/samples/controls/tn_books.png +0 -0
  663. data/samples/controls/tn_controls.png +0 -0
  664. data/samples/etc/choice.rb +0 -87
  665. data/samples/etc/tn_choice.png +0 -0
  666. data/samples/text/mondrian.ico +0 -0
  667. data/samples/text/mondrian.xpm +0 -44
  668. /data/samples/{caret → etc}/tn_caret.png +0 -0
data/samples/grid/grid.rb CHANGED
@@ -11,195 +11,202 @@
11
11
 
12
12
  require 'wx'
13
13
 
14
- class MyTextCellEditor < Wx::GRID::GridCellTextEditor
15
- def apply_edit(row, col, grid)
16
- grid.set_cell_value(row, col, "'#{get_value}'" )
17
- end
18
- end
19
-
20
- class GridFrame < Wx::Frame
21
-
22
- def initialize(parent, id = -1, title = "MyFrame",
23
- pos = Wx::DEFAULT_POSITION,
24
- size = Wx::DEFAULT_SIZE,
25
- style = Wx::DEFAULT_FRAME_STYLE)
26
-
27
- super(parent, id, title, pos, size, style)
28
- sizer = Wx::BoxSizer.new(Wx::VERTICAL)
29
- create_status_bar
30
- set_status_text(Wx::WXRUBY_VERSION)
31
-
32
- # panel = Wx::Panel.new(self)
33
- sel_menu = Wx::Menu.new
34
- sel_menu.append(1002, 'Select all', 'Select all')
35
- evt_menu(1002) { @grid.select_all }
36
- sel_menu.append(1003, 'Select row 2', 'Select row 2')
37
- evt_menu(1003) { @grid.select_row(1) }
38
- sel_menu.append(1004, 'Select column 4', 'Select col 4')
39
- evt_menu(1004) { @grid.select_col(3) }
40
- sel_menu.append(1005, 'Select block', 'Select block')
41
- evt_menu(1005) { @grid.select_block(1, 1, 6, 3) }
42
- menu_bar = Wx::MenuBar.new
43
- menu_bar.append(sel_menu, 'Select')
44
- set_menu_bar(menu_bar)
45
-
46
- make_grid(self)
47
- sizer.add(@grid, 1, Wx::ALL|Wx::GROW, 4)
48
- set_sizer(sizer)
49
-
50
- evt_grid_cell_left_click do |evt|
51
- set_status_text("#{evt.get_row} x #{evt.get_col} is clicked")
52
- evt.skip
53
- end
54
-
55
- evt_grid_cell_right_click do |evt|
56
- set_status_text("#{evt.get_row} x #{evt.get_col} is right clicked")
57
- evt.skip
58
- end
59
-
60
- evt_grid_cell_left_dclick do |evt|
61
- set_status_text("#{evt.get_row} x #{evt.get_col} is double clicked")
62
- evt.skip
63
- end
64
-
65
- evt_grid_cell_right_dclick do |evt|
66
- set_status_text("#{evt.get_row} x #{evt.get_col} is right double clicked")
67
- evt.skip
68
- end
69
-
70
- evt_grid_label_left_click do |evt|
71
- set_status_text("#{evt.get_row} x #{evt.get_col} label is clicked")
72
- evt.skip
73
- end
74
-
75
- evt_grid_label_right_click do |evt|
76
- set_status_text("#{evt.get_row} x #{evt.get_col} label is right clicked")
77
- evt.skip
78
- end
79
-
80
- evt_grid_label_left_dclick do |evt|
81
- set_status_text("#{evt.get_row} x #{evt.get_col} labelis double clicked")
82
- evt.skip
83
- end
84
-
85
- evt_grid_label_right_dclick do |evt|
86
- set_status_text("#{evt.get_row} x #{evt.get_col} label is right double clicked")
87
- evt.skip
88
- end
89
-
90
- evt_grid_select_cell do |evt|
91
- set_status_text("#{evt.get_row} x #{evt.get_col} cell is selected")
92
- evt.skip
93
- end
94
-
95
- evt_grid_row_size do |evt|
96
- set_status_text("Row #{evt.get_row_or_col} size changed")
97
- evt.skip
98
- end
14
+ module Grid
99
15
 
100
- evt_grid_col_size do |evt|
101
- set_status_text("Column #{evt.get_row_or_col} size changed")
102
- evt.skip
103
- end
104
-
105
- evt_grid_editor_shown do |evt|
106
- set_status_text("Begin editing")
107
- evt.skip
16
+ class MyTextCellEditor < Wx::GRID::GridCellTextEditor
17
+ def apply_edit(row, col, grid)
18
+ grid.set_cell_value(row, col, "'#{get_value}'" )
108
19
  end
20
+ end
109
21
 
110
- evt_grid_editor_hidden do |evt|
111
- set_status_text("End editing")
112
- evt.skip
22
+ class GridFrame < Wx::Frame
23
+
24
+ def initialize(parent, id = -1, title = "MyFrame",
25
+ pos = Wx::DEFAULT_POSITION,
26
+ size = Wx::DEFAULT_SIZE,
27
+ style = Wx::DEFAULT_FRAME_STYLE)
28
+
29
+ super(parent, id, title, pos, size, style)
30
+
31
+ self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
32
+
33
+ sizer = Wx::BoxSizer.new(Wx::VERTICAL)
34
+ create_status_bar
35
+ set_status_text(Wx::WXRUBY_VERSION)
36
+
37
+ # panel = Wx::Panel.new(self)
38
+ sel_menu = Wx::Menu.new
39
+ sel_menu.append(1002, 'Select all', 'Select all')
40
+ evt_menu(1002) { @grid.select_all }
41
+ sel_menu.append(1003, 'Select row 2', 'Select row 2')
42
+ evt_menu(1003) { @grid.select_row(1) }
43
+ sel_menu.append(1004, 'Select column 4', 'Select col 4')
44
+ evt_menu(1004) { @grid.select_col(3) }
45
+ sel_menu.append(1005, 'Select block', 'Select block')
46
+ evt_menu(1005) { @grid.select_block(1, 1, 6, 3) }
47
+ menu_bar = Wx::MenuBar.new
48
+ menu_bar.append(sel_menu, 'Select')
49
+ set_menu_bar(menu_bar)
50
+
51
+ make_grid(self)
52
+ sizer.add(@grid, 1, Wx::ALL|Wx::GROW, 4)
53
+ set_sizer(sizer)
54
+
55
+ evt_grid_cell_left_click do |evt|
56
+ set_status_text("#{evt.get_row} x #{evt.get_col} is clicked")
57
+ evt.skip
58
+ end
59
+
60
+ evt_grid_cell_right_click do |evt|
61
+ set_status_text("#{evt.get_row} x #{evt.get_col} is right clicked")
62
+ evt.skip
63
+ end
64
+
65
+ evt_grid_cell_left_dclick do |evt|
66
+ set_status_text("#{evt.get_row} x #{evt.get_col} is double clicked")
67
+ evt.skip
68
+ end
69
+
70
+ evt_grid_cell_right_dclick do |evt|
71
+ set_status_text("#{evt.get_row} x #{evt.get_col} is right double clicked")
72
+ evt.skip
73
+ end
74
+
75
+ evt_grid_label_left_click do |evt|
76
+ set_status_text("#{evt.get_row} x #{evt.get_col} label is clicked")
77
+ evt.skip
78
+ end
79
+
80
+ evt_grid_label_right_click do |evt|
81
+ set_status_text("#{evt.get_row} x #{evt.get_col} label is right clicked")
82
+ evt.skip
83
+ end
84
+
85
+ evt_grid_label_left_dclick do |evt|
86
+ set_status_text("#{evt.get_row} x #{evt.get_col} labelis double clicked")
87
+ evt.skip
88
+ end
89
+
90
+ evt_grid_label_right_dclick do |evt|
91
+ set_status_text("#{evt.get_row} x #{evt.get_col} label is right double clicked")
92
+ evt.skip
93
+ end
94
+
95
+ evt_grid_select_cell do |evt|
96
+ set_status_text("#{evt.get_row} x #{evt.get_col} cell is selected")
97
+ evt.skip
98
+ end
99
+
100
+ evt_grid_row_size do |evt|
101
+ set_status_text("Row #{evt.get_row_or_col} size changed")
102
+ evt.skip
103
+ end
104
+
105
+ evt_grid_col_size do |evt|
106
+ set_status_text("Column #{evt.get_row_or_col} size changed")
107
+ evt.skip
108
+ end
109
+
110
+ evt_grid_editor_shown do |evt|
111
+ set_status_text("Begin editing")
112
+ evt.skip
113
+ end
114
+
115
+ evt_grid_editor_hidden do |evt|
116
+ set_status_text("End editing")
117
+ evt.skip
118
+ end
119
+
120
+ evt_grid_range_selected do |evt|
121
+ top = evt.get_top_left_coords
122
+ bottom = evt.get_bottom_right_coords
123
+ set_status_text("[ #{top[0].to_s} x #{top[1].to_s} ] to [ #{bottom[0].to_s} x #{bottom[1].to_s} ] is selected")
124
+ end
125
+
126
+ evt_grid_editor_created do |evt|
127
+ set_status_text("Control #{evt.get_control} created")
128
+ evt.skip
129
+ end
130
+
131
+ evt_grid_cell_changed do |evt|
132
+ set_status_text("Cell #{evt.get_row} x #{evt.get_col} has changed")
133
+ end
113
134
  end
114
135
 
115
- evt_grid_range_selected do |evt|
116
- top = evt.get_top_left_coords
117
- bottom = evt.get_bottom_right_coords
118
- set_status_text("[ #{top[0].to_s} x #{top[1].to_s} ] to [ #{bottom[0].to_s} x #{bottom[1].to_s} ] is selected")
119
- end
120
-
121
- evt_grid_editor_created do |evt|
122
- set_status_text("Control #{evt.get_control} created")
123
- evt.skip
136
+ # Create a wxGrid object
137
+ def make_grid(panel)
138
+ @grid = Wx::GRID::Grid.new(panel, -1)
139
+
140
+ # Then we call CreateGrid to set the dimensions of the grid
141
+ # (11 rows and 12 columns in this example)
142
+ @grid.create_grid( 20, 12 )
143
+ @grid.set_default_cell_background_colour(Wx::WHITE)
144
+ @grid.set_default_cell_text_colour(Wx::BLACK)
145
+ # We can set the sizes of individual rows and columns
146
+ # in pixels, and the label value string
147
+ @grid.set_row_size( 0, 60 )
148
+ @grid.set_row_label_value( 0, "Row1" )
149
+ @grid.set_row_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
150
+
151
+ @grid.set_col_size( 0, 120 )
152
+ @grid.set_col_label_value( 0, "Col1" )
153
+ @grid.set_col_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
154
+
155
+ # And set grid cell contents as strings
156
+ @grid.set_cell_value( 0, 0, "wxGrid is good" )
157
+
158
+ # We can specify that some cells are read-only
159
+ @grid.set_cell_value( 0, 2, "Read-only" )
160
+ @grid.set_read_only( 0, 2 )
161
+
162
+ cell_attr = Wx::GRID::GridCellAttr.new
163
+ cell_attr.editor = MyTextCellEditor.new
164
+ @grid.set_row_attr(1, cell_attr)
165
+ cell_attr2 = Wx::GRID::GridCellAttr.new
166
+ cell_attr2.editor = cell_attr.editor(@grid, 1, 1)
167
+ @grid.set_row_attr(2, cell_attr2)
168
+
169
+ # Colours can be specified for grid cell contents
170
+ @grid.set_cell_value(1, 1, "white on red")
171
+ @grid.set_cell_text_colour(1, 1, Wx::WHITE)
172
+ @grid.set_cell_background_colour(1, 1, Wx::RED)
173
+
174
+ # We can specify the some cells will store numeric
175
+ # values rather than strings. Here we set grid column 6
176
+ # to hold floating point values displayed with width
177
+ # of 2 and precision of 2. The column is highlighted in light grey
178
+ cell_attr = Wx::GRID::GridCellAttr.new
179
+ cell_attr.set_background_colour( Wx::LIGHT_GREY )
180
+ cell_attr.set_renderer( Wx::GRID::GridCellFloatRenderer.new(2, 2) )
181
+
182
+ @grid.set_col_attr(5, cell_attr)
183
+ @grid.set_cell_value(0, 5, "3.1415")
184
+ @grid.set_cell_value(0, 6,
185
+ "The whole column to the left uses float format")
186
+
187
+ # Custom Editors Can be used
188
+ editor = Wx::GRID::GridCellNumberEditor.new(5, 20)
189
+ @grid.set_cell_value(3, 1, 'Number editor below')
190
+ @grid.set_cell_editor(4, 1, editor)
191
+
192
+ editor = Wx::GRID::GridCellFloatEditor.new(4, 2)
193
+ @grid.set_cell_value(3, 2, 'Float editor below')
194
+ @grid.set_cell_editor(4, 2, editor)
195
+
196
+ editor = Wx::GRID::GridCellChoiceEditor.new(['foo', 'bar', 'baz'])
197
+ @grid.set_cell_value(3, 3, 'Choice editor below')
198
+ @grid.set_cell_editor(4, 3, editor)
199
+
200
+ @grid.auto_size_row(3, true)
201
+
202
+ # Display of cells can be customised
203
+ @grid.set_cell_editor(6, 0, Wx::GRID::GridCellBoolEditor.new)
204
+ @grid.set_cell_renderer(6, 0, Wx::GRID::GridCellBoolRenderer.new)
205
+ @grid.set_cell_value(6, 1, 'Cell to the left displayed as boolean')
124
206
  end
125
207
 
126
- evt_grid_cell_changed do |evt|
127
- set_status_text("Cell #{evt.get_row} x #{evt.get_col} has changed")
128
- end
129
208
  end
130
209
 
131
- # Create a wxGrid object
132
- def make_grid(panel)
133
- @grid = Wx::GRID::Grid.new(panel, -1)
134
-
135
- # Then we call CreateGrid to set the dimensions of the grid
136
- # (11 rows and 12 columns in this example)
137
- @grid.create_grid( 20, 12 )
138
- @grid.set_default_cell_background_colour(Wx::WHITE)
139
- @grid.set_default_cell_text_colour(Wx::BLACK)
140
- # We can set the sizes of individual rows and columns
141
- # in pixels, and the label value string
142
- @grid.set_row_size( 0, 60 )
143
- @grid.set_row_label_value( 0, "Row1" )
144
- @grid.set_row_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
145
-
146
- @grid.set_col_size( 0, 120 )
147
- @grid.set_col_label_value( 0, "Col1" )
148
- @grid.set_col_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
149
-
150
- # And set grid cell contents as strings
151
- @grid.set_cell_value( 0, 0, "wxGrid is good" )
152
-
153
- # We can specify that some cells are read-only
154
- @grid.set_cell_value( 0, 2, "Read-only" )
155
- @grid.set_read_only( 0, 2 )
156
-
157
- cell_attr = Wx::GRID::GridCellAttr.new
158
- cell_attr.editor = MyTextCellEditor.new
159
- @grid.set_row_attr(1, cell_attr)
160
- cell_attr2 = Wx::GRID::GridCellAttr.new
161
- cell_attr2.editor = cell_attr.editor(@grid, 1, 1)
162
- @grid.set_row_attr(2, cell_attr2)
163
-
164
- # Colours can be specified for grid cell contents
165
- @grid.set_cell_value(1, 1, "white on red")
166
- @grid.set_cell_text_colour(1, 1, Wx::WHITE)
167
- @grid.set_cell_background_colour(1, 1, Wx::RED)
168
-
169
- # We can specify the some cells will store numeric
170
- # values rather than strings. Here we set grid column 6
171
- # to hold floating point values displayed with width
172
- # of 2 and precision of 2. The column is highlighted in light grey
173
- cell_attr = Wx::GRID::GridCellAttr.new
174
- cell_attr.set_background_colour( Wx::LIGHT_GREY )
175
- cell_attr.set_renderer( Wx::GRID::GridCellFloatRenderer.new(2, 2) )
176
-
177
- @grid.set_col_attr(5, cell_attr)
178
- @grid.set_cell_value(0, 5, "3.1415")
179
- @grid.set_cell_value(0, 6,
180
- "The whole column to the left uses float format")
181
-
182
- # Custom Editors Can be used
183
- editor = Wx::GRID::GridCellNumberEditor.new(5, 20)
184
- @grid.set_cell_value(3, 1, 'Number editor below')
185
- @grid.set_cell_editor(4, 1, editor)
186
-
187
- editor = Wx::GRID::GridCellFloatEditor.new(4, 2)
188
- @grid.set_cell_value(3, 2, 'Float editor below')
189
- @grid.set_cell_editor(4, 2, editor)
190
-
191
- editor = Wx::GRID::GridCellChoiceEditor.new(['foo', 'bar', 'baz'])
192
- @grid.set_cell_value(3, 3, 'Choice editor below')
193
- @grid.set_cell_editor(4, 3, editor)
194
-
195
- @grid.auto_size_row(3, true)
196
-
197
- # Display of cells can be customised
198
- @grid.set_cell_editor(6, 0, Wx::GRID::GridCellBoolEditor.new)
199
- @grid.set_cell_renderer(6, 0, Wx::GRID::GridCellBoolRenderer.new)
200
- @grid.set_cell_value(6, 1, 'Cell to the left displayed as boolean')
201
- end
202
-
203
210
  end
204
211
 
205
212
  module GridSample
@@ -213,7 +220,7 @@ module GridSample
213
220
  end
214
221
 
215
222
  def self.activate
216
- frame = GridFrame.new(nil, -1, "Grid Sample",
223
+ frame = Grid::GridFrame.new(nil, -1, "Grid Sample",
217
224
  Wx::Point.new(10, 100),
218
225
  Wx::Size.new(630,400))
219
226
  frame.show
@@ -11,153 +11,160 @@
11
11
 
12
12
  require 'wx'
13
13
 
14
- # GridTableBase is an alternative way to provide data to a Wx::Grid. A
15
- # subclass of Wx::GridTableBase is created which is reqiured to provide
16
- # methods to report the total size of the Grid in rows and columns, and
17
- # the contents and style of individual cells.
18
- #
19
- # Then, when creating the Grid, instead of calling create_grid and
20
- # set_value to populate it, the GridTableBase-derived class is
21
- # associated with the Grid, and provides these functions (see below)
22
- #
23
- # This approach is typically useful for dealing with very large sets of
24
- # data, as each cell's value is only requested as it becomes visible.v
25
- class MyGridTable < Wx::GRID::GridTableBase
26
- attr_reader :cols, :rows
27
- def initialize(rows, cols)
28
- super()
29
- @rows = rows
30
- @cols = cols
31
- @number_col = 1
32
- end
33
-
34
- # Letter labels for columns
35
- COLS = ('AA' .. 'ZZ').to_a
36
-
37
- # Firstly, a GridTableBase must indicate the size of the grid in
38
- # terms of rows ...
39
- def get_number_rows
40
- @rows
41
- end
14
+ module GridTable
15
+
16
+ # GridTableBase is an alternative way to provide data to a Wx::Grid. A
17
+ # subclass of Wx::GridTableBase is created which is reqiured to provide
18
+ # methods to report the total size of the Grid in rows and columns, and
19
+ # the contents and style of individual cells.
20
+ #
21
+ # Then, when creating the Grid, instead of calling create_grid and
22
+ # set_value to populate it, the GridTableBase-derived class is
23
+ # associated with the Grid, and provides these functions (see below)
24
+ #
25
+ # This approach is typically useful for dealing with very large sets of
26
+ # data, as each cell's value is only requested as it becomes visible.v
27
+ class MyGridTable < Wx::GRID::GridTableBase
28
+ attr_reader :cols, :rows
29
+ def initialize(rows, cols)
30
+ super()
31
+ @rows = rows
32
+ @cols = cols
33
+ @number_col = 1
34
+ end
42
35
 
43
- # ... and columns
44
- def get_number_cols
45
- @cols
46
- end
36
+ # Letter labels for columns
37
+ COLS = ('AA' .. 'ZZ').to_a
47
38
 
48
- def append_rows(n)
49
- @rows += n
50
- if get_view
51
- msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_ROWS_APPENDED, n)
52
- get_view.process_table_message(msg)
39
+ # Firstly, a GridTableBase must indicate the size of the grid in
40
+ # terms of rows ...
41
+ def get_number_rows
42
+ @rows
53
43
  end
54
- end
55
44
 
56
- def append_cols(n)
57
- @cols += n
58
- if get_view
59
- msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_COLS_APPENDED, n)
60
- get_view.process_table_message(msg)
45
+ # ... and columns
46
+ def get_number_cols
47
+ @cols
61
48
  end
62
- end
63
49
 
64
- # Most importantly, it should be able to return any given cell's
65
- # contents, given its row and column reference
66
- def get_value(row, col)
67
- if col == @number_col
68
- (row * 5).to_s
69
- else
70
- "#{row}:#{COLS[col]}"
50
+ def append_rows(n)
51
+ @rows += n
52
+ if get_view
53
+ msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_ROWS_APPENDED, n)
54
+ get_view.process_table_message(msg)
55
+ end
71
56
  end
72
- end
73
-
74
- # This is not needed if the cell contents are simply strings. However,
75
- # if you wish to use custom GridCellRenderers and/or GridCellEditors,
76
- # this should return a type name which has the correct renderer /
77
- # editor defined for it in the Grid, using register_
78
- def get_type_name(row, col)
79
- if col == @number_col
80
- "NUMBER"
81
- else
82
- "STRING"
57
+
58
+ def append_cols(n)
59
+ @cols += n
60
+ if get_view
61
+ msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_COLS_APPENDED, n)
62
+ get_view.process_table_message(msg)
63
+ end
83
64
  end
84
- end
85
65
 
86
- # It should also return the attributes that should apply to any given
87
- # cell; this example give alternate rows red text letters
88
- def get_attr(row, col, attr_kind)
89
- attr = Wx::GRID::GridCellAttr.new
90
- if (row % 2).zero?
91
- attr.text_colour = Wx::RED
66
+ # Most importantly, it should be able to return any given cell's
67
+ # contents, given its row and column reference
68
+ def get_value(row, col)
69
+ if col == @number_col
70
+ (row * 5).to_s
71
+ else
72
+ "#{row}:#{COLS[col]}"
73
+ end
92
74
  end
93
- attr
94
- end
95
75
 
96
- # It should indicate whether any given cell is empty
97
- def is_empty_cell(row, col)
98
- false
99
- end
76
+ # This is not needed if the cell contents are simply strings. However,
77
+ # if you wish to use custom GridCellRenderers and/or GridCellEditors,
78
+ # this should return a type name which has the correct renderer /
79
+ # editor defined for it in the Grid, using register_
80
+ def get_type_name(row, col)
81
+ if col == @number_col
82
+ "NUMBER"
83
+ else
84
+ "STRING"
85
+ end
86
+ end
100
87
 
101
- # It may also provide labels for the columns and rows
102
- def get_col_label_value(col)
103
- COLS[col]
104
- end
88
+ # It should also return the attributes that should apply to any given
89
+ # cell; this example give alternate rows red text letters
90
+ def get_attr(row, col, attr_kind)
91
+ attr = Wx::GRID::GridCellAttr.new
92
+ if (row % 2).zero?
93
+ attr.text_colour = Wx::RED
94
+ end
95
+ attr
96
+ end
105
97
 
106
- # If the Grid is to support write as well as read operations,
107
- # set_value should also be implemented. In this case, the change is
108
- # merely echoed back and doesn't alter the underlying value; a real
109
- # implementation could, for example, write back to a database
110
- def set_value(x, y, val)
111
- puts "Changing the value of cell (#{x}, #{y}) to '#{val}'"
112
- end
113
- end
98
+ # It should indicate whether any given cell is empty
99
+ def is_empty_cell(row, col)
100
+ false
101
+ end
114
102
 
115
- class GridFrame < Wx::Frame
116
- def initialize
117
- super(nil, :title => 'GridTableBase demo', :size => [600, 300])
118
- main_sizer = Wx::VBoxSizer.new
119
- # Create a grid and associate an instance of the GridTable as the
120
- # data provider for the grid
121
- @grid = Wx::GRID::Grid.new(self)
122
-
123
- # Define the renderers and editors used by the different data types
124
- # displayed in this Grid. The type of a given cell is determined by
125
- # calling the source's get_type_name method; see above.
126
- @grid.register_data_type( "STRING",
127
- Wx::GRID::GridCellStringRenderer.new,
128
- Wx::GRID::GridCellTextEditor.new )
129
- @grid.register_data_type( "NUMBER",
130
- Wx::GRID::GridCellNumberRenderer.new,
131
- Wx::GRID::GridCellNumberEditor.new(0, 500) )
132
-
133
- # Set the data source
134
- @grid.table = MyGridTable.new(10, 10)
135
-
136
-
137
- main_sizer.add(@grid, 1, Wx::EXPAND|Wx::ALL, 5)
138
-
139
- # Add some buttons that can change the contents
140
- butt_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
141
-
142
- butt_1 = Wx::Button.new(self, :label => "Add row")
143
- # When resizing the grid to have a new number of rows or columns,
144
- # just tell the table
145
- evt_button(butt_1) do
146
- @grid.append_rows(1)
147
- @grid.force_refresh
103
+ # It may also provide labels for the columns and rows
104
+ def get_col_label_value(col)
105
+ COLS[col]
148
106
  end
149
- butt_sizer.add(butt_1)
150
107
 
151
- butt_2 = Wx::Button.new(self, :label => "Add column")
152
- evt_button(butt_2) do
153
- @grid.append_cols(1)
154
- @grid.force_refresh
108
+ # If the Grid is to support write as well as read operations,
109
+ # set_value should also be implemented. In this case, the change is
110
+ # merely echoed back and doesn't alter the underlying value; a real
111
+ # implementation could, for example, write back to a database
112
+ def set_value(x, y, val)
113
+ puts "Changing the value of cell (#{x}, #{y}) to '#{val}'"
155
114
  end
156
- butt_sizer.add(butt_2)
115
+ end
157
116
 
158
- main_sizer.add(butt_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
159
- self.sizer = main_sizer
117
+ class GridFrame < Wx::Frame
118
+ def initialize
119
+ super(nil, :title => 'GridTableBase demo', :size => [600, 300])
120
+
121
+ self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
122
+
123
+ main_sizer = Wx::VBoxSizer.new
124
+ # Create a grid and associate an instance of the GridTable as the
125
+ # data provider for the grid
126
+ @grid = Wx::GRID::Grid.new(self)
127
+
128
+ # Define the renderers and editors used by the different data types
129
+ # displayed in this Grid. The type of a given cell is determined by
130
+ # calling the source's get_type_name method; see above.
131
+ @grid.register_data_type( "STRING",
132
+ Wx::GRID::GridCellStringRenderer.new,
133
+ Wx::GRID::GridCellTextEditor.new )
134
+ @grid.register_data_type( "NUMBER",
135
+ Wx::GRID::GridCellNumberRenderer.new,
136
+ Wx::GRID::GridCellNumberEditor.new(0, 500) )
137
+
138
+ # Set the data source
139
+ @grid.table = MyGridTable.new(10, 10)
140
+
141
+
142
+ main_sizer.add(@grid, 1, Wx::EXPAND|Wx::ALL, 5)
143
+
144
+ # Add some buttons that can change the contents
145
+ butt_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
146
+
147
+ butt_1 = Wx::Button.new(self, :label => "Add row")
148
+ # When resizing the grid to have a new number of rows or columns,
149
+ # just tell the table
150
+ evt_button(butt_1) do
151
+ @grid.append_rows(1)
152
+ @grid.force_refresh
153
+ end
154
+ butt_sizer.add(butt_1)
155
+
156
+ butt_2 = Wx::Button.new(self, :label => "Add column")
157
+ evt_button(butt_2) do
158
+ @grid.append_cols(1)
159
+ @grid.force_refresh
160
+ end
161
+ butt_sizer.add(butt_2)
162
+
163
+ main_sizer.add(butt_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
164
+ self.sizer = main_sizer
165
+ end
160
166
  end
167
+
161
168
  end
162
169
 
163
170
  module GridTableSample
@@ -171,7 +178,7 @@ module GridTableSample
171
178
  end
172
179
 
173
180
  def self.activate
174
- frame = GridFrame.new
181
+ frame = GridTable::GridFrame.new
175
182
  frame.show
176
183
  frame
177
184
  end