wxruby3 0.9.1-x64-mingw-ucrt → 0.9.3-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 (740) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/INSTALL.md +35 -29
  4. data/README.md +24 -15
  5. data/ext/wxbase32u_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  7. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  19. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  20. data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
  21. data/lib/wx/aui/auinotebook.rb +6 -2
  22. data/lib/wx/aui/require.rb +1 -0
  23. data/lib/wx/core/app.rb +2 -2
  24. data/lib/wx/core/bitmap_combobox.rb +17 -21
  25. data/lib/wx/core/collapsible_pane.rb +1 -1
  26. data/lib/wx/core/combobox.rb +13 -3
  27. data/lib/wx/core/controlwithitems.rb +40 -128
  28. data/lib/wx/core/enum.rb +17 -1
  29. data/lib/wx/core/event.rb +6 -1
  30. data/lib/wx/core/events/evt_list.rb +5 -4
  31. data/lib/wx/core/evthandler.rb +8 -2
  32. data/lib/wx/core/generic_validator.rb +312 -0
  33. data/lib/wx/core/listbox.rb +2 -2
  34. data/lib/wx/core/log.rb +1 -1
  35. data/lib/wx/core/menu.rb +10 -0
  36. data/lib/wx/core/notebook.rb +6 -2
  37. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  38. data/lib/wx/core/size.rb +4 -0
  39. data/lib/wx/core/sizer.rb +12 -2
  40. data/lib/wx/core/standard_paths.rb +22 -0
  41. data/lib/wx/core/task_bar_button.rb +19 -0
  42. data/lib/wx/core/text_entry.rb +4 -1
  43. data/lib/wx/core/textctrl.rb +11 -1
  44. data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
  45. data/lib/wx/core/validator.rb +70 -5
  46. data/lib/wx/core/window.rb +13 -7
  47. data/lib/wx/doc/app.rb +48 -38
  48. data/lib/wx/doc/art_locator.rb +48 -43
  49. data/lib/wx/doc/aui/auimanager.rb +16 -8
  50. data/lib/wx/doc/aui/auinotebook.rb +20 -5
  51. data/lib/wx/doc/clipboard.rb +11 -7
  52. data/lib/wx/doc/colour_dialog.rb +14 -10
  53. data/lib/wx/doc/comboctrl.rb +18 -0
  54. data/lib/wx/doc/controlwithitems.rb +34 -8
  55. data/lib/wx/doc/data_object.rb +2 -2
  56. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  57. data/lib/wx/doc/editable_listbox.rb +44 -0
  58. data/lib/wx/doc/enum.rb +15 -0
  59. data/lib/wx/doc/event.rb +12 -0
  60. data/lib/wx/doc/evthandler.rb +113 -108
  61. data/lib/wx/doc/extra/12_client_data.md +89 -0
  62. data/lib/wx/doc/extra/13_validators.md +139 -0
  63. data/lib/wx/doc/font.rb +1 -0
  64. data/lib/wx/doc/gc_dc.rb +6 -1
  65. data/lib/wx/doc/gdi_common.rb +4 -0
  66. data/lib/wx/doc/gen/about_dialog_info.rb +26 -2
  67. data/lib/wx/doc/gen/accelerator.rb +19 -4
  68. data/lib/wx/doc/gen/accessible.rb +48 -47
  69. data/lib/wx/doc/gen/activity_indicator.rb +10 -4
  70. data/lib/wx/doc/gen/animation.rb +19 -3
  71. data/lib/wx/doc/gen/animation_ctrl.rb +16 -7
  72. data/lib/wx/doc/gen/any_button.rb +22 -1
  73. data/lib/wx/doc/gen/app.rb +41 -5
  74. data/lib/wx/doc/gen/app_traits.rb +65 -15
  75. data/lib/wx/doc/gen/art_provider.rb +33 -7
  76. data/lib/wx/doc/gen/aui/aui_dock_art.rb +18 -3
  77. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +2 -0
  78. data/lib/wx/doc/gen/aui/aui_manager.rb +35 -8
  79. data/lib/wx/doc/gen/aui/aui_manager_event.rb +11 -4
  80. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +4 -0
  81. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +3 -0
  82. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +8 -1
  83. data/lib/wx/doc/gen/aui/aui_notebook.rb +31 -7
  84. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +5 -4
  85. data/lib/wx/doc/gen/aui/aui_pane_info.rb +38 -2
  86. data/lib/wx/doc/gen/aui/aui_tab_art.rb +9 -3
  87. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +2 -1
  88. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +20 -6
  89. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +4 -2
  90. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +5 -7
  91. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +5 -1
  92. data/lib/wx/doc/gen/aui/event_list.rb +164 -160
  93. data/lib/wx/doc/gen/banner_window.rb +8 -1
  94. data/lib/wx/doc/gen/bitmap.rb +94 -16
  95. data/lib/wx/doc/gen/bitmap_button.rb +16 -8
  96. data/lib/wx/doc/gen/bitmap_combo_box.rb +20 -10
  97. data/lib/wx/doc/gen/book_ctrl_base.rb +31 -4
  98. data/lib/wx/doc/gen/book_ctrl_event.rb +9 -3
  99. data/lib/wx/doc/gen/box_sizer.rb +5 -1
  100. data/lib/wx/doc/gen/brush.rb +20 -2
  101. data/lib/wx/doc/gen/busy_info.rb +10 -2
  102. data/lib/wx/doc/gen/button.rb +31 -11
  103. data/lib/wx/doc/gen/calculate_layout_event.rb +5 -3
  104. data/lib/wx/doc/gen/calendar_ctrl.rb +38 -13
  105. data/lib/wx/doc/gen/calendar_date_attr.rb +2 -1
  106. data/lib/wx/doc/gen/calendar_event.rb +5 -2
  107. data/lib/wx/doc/gen/caret.rb +3 -1
  108. data/lib/wx/doc/gen/check_box.rb +17 -7
  109. data/lib/wx/doc/gen/check_list_box.rb +8 -6
  110. data/lib/wx/doc/gen/choice.rb +28 -9
  111. data/lib/wx/doc/gen/choicebook.rb +7 -7
  112. data/lib/wx/doc/gen/client_dc.rb +6 -2
  113. data/lib/wx/doc/gen/clipboard.rb +16 -3
  114. data/lib/wx/doc/gen/collapsible_pane.rb +9 -7
  115. data/lib/wx/doc/gen/collapsible_pane_event.rb +3 -3
  116. data/lib/wx/doc/gen/colour.rb +28 -4
  117. data/lib/wx/doc/gen/colour_dialog.rb +15 -7
  118. data/lib/wx/doc/gen/colour_picker_ctrl.rb +13 -10
  119. data/lib/wx/doc/gen/colour_picker_event.rb +5 -5
  120. data/lib/wx/doc/gen/combo_box.rb +36 -14
  121. data/lib/wx/doc/gen/combo_ctrl.rb +117 -295
  122. data/lib/wx/doc/gen/command_link_button.rb +12 -5
  123. data/lib/wx/doc/gen/context_help_button.rb +13 -3
  124. data/lib/wx/doc/gen/control.rb +22 -8
  125. data/lib/wx/doc/gen/control_with_items.rb +45 -10
  126. data/lib/wx/doc/gen/core.rb +4 -4
  127. data/lib/wx/doc/gen/cursor.rb +10 -8
  128. data/lib/wx/doc/gen/data_format.rb +7 -1
  129. data/lib/wx/doc/gen/data_object.rb +42 -18
  130. data/lib/wx/doc/gen/date_event.rb +3 -2
  131. data/lib/wx/doc/gen/date_picker_ctrl.rb +18 -8
  132. data/lib/wx/doc/gen/dc.rb +238 -36
  133. data/lib/wx/doc/gen/defs.rb +51 -51
  134. data/lib/wx/doc/gen/dial_up_event.rb +2 -1
  135. data/lib/wx/doc/gen/dial_up_manager.rb +25 -5
  136. data/lib/wx/doc/gen/dialog.rb +72 -13
  137. data/lib/wx/doc/gen/dir_dialog.rb +22 -5
  138. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +2 -0
  139. data/lib/wx/doc/gen/dir_picker_ctrl.rb +14 -10
  140. data/lib/wx/doc/gen/drag_drop.rb +28 -7
  141. data/lib/wx/doc/gen/drag_image.rb +13 -2
  142. data/lib/wx/doc/gen/editable_list_box.rb +7 -5
  143. data/lib/wx/doc/gen/event.rb +57 -26
  144. data/lib/wx/doc/gen/event_blocker.rb +2 -3
  145. data/lib/wx/doc/gen/event_filter.rb +3 -0
  146. data/lib/wx/doc/gen/event_list.rb +1656 -1652
  147. data/lib/wx/doc/gen/events.rb +305 -173
  148. data/lib/wx/doc/gen/evt_handler.rb +49 -3
  149. data/lib/wx/doc/gen/ext_help_controller.rb +10 -1
  150. data/lib/wx/doc/gen/file_ctrl.rb +28 -10
  151. data/lib/wx/doc/gen/file_ctrl_event.rb +7 -4
  152. data/lib/wx/doc/gen/file_dialog.rb +44 -14
  153. data/lib/wx/doc/gen/file_dialog_custom_control.rb +19 -0
  154. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +11 -3
  155. data/lib/wx/doc/gen/file_dir_picker_event.rb +4 -4
  156. data/lib/wx/doc/gen/file_picker_ctrl.rb +12 -9
  157. data/lib/wx/doc/gen/file_system.rb +54 -15
  158. data/lib/wx/doc/gen/find_dialog_event.rb +6 -4
  159. data/lib/wx/doc/gen/find_replace_data.rb +2 -1
  160. data/lib/wx/doc/gen/find_replace_dialog.rb +4 -1
  161. data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -1
  162. data/lib/wx/doc/gen/font.rb +103 -20
  163. data/lib/wx/doc/gen/font_data.rb +16 -3
  164. data/lib/wx/doc/gen/font_dialog.rb +6 -1
  165. data/lib/wx/doc/gen/font_picker_ctrl.rb +14 -7
  166. data/lib/wx/doc/gen/font_picker_event.rb +3 -3
  167. data/lib/wx/doc/gen/frame.rb +73 -15
  168. data/lib/wx/doc/gen/fs_file.rb +39 -10
  169. data/lib/wx/doc/gen/gauge.rb +19 -8
  170. data/lib/wx/doc/gen/gb_sizer_item.rb +5 -1
  171. data/lib/wx/doc/gen/gcdc.rb +3 -2
  172. data/lib/wx/doc/gen/gdi_common.rb +80 -11
  173. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  174. data/lib/wx/doc/gen/generic_dir_ctrl.rb +13 -7
  175. data/lib/wx/doc/gen/graphics_context.rb +86 -10
  176. data/lib/wx/doc/gen/graphics_object.rb +35 -6
  177. data/lib/wx/doc/gen/grid/event_list.rb +168 -164
  178. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +3 -0
  179. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +16 -3
  180. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -1
  181. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +2 -1
  182. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -1
  183. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -1
  184. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -1
  185. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +2 -1
  186. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +2 -1
  187. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +2 -1
  188. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +10 -1
  189. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +2 -1
  190. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +2 -1
  191. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -1
  192. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -1
  193. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -1
  194. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -1
  195. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +7 -1
  196. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -1
  197. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -1
  198. data/lib/wx/doc/gen/grid/grid_ctrl.rb +256 -12
  199. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +6 -4
  200. data/lib/wx/doc/gen/grid/grid_event.rb +6 -4
  201. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +4 -4
  202. data/lib/wx/doc/gen/grid/grid_size_event.rb +4 -4
  203. data/lib/wx/doc/gen/grid/grid_string_table.rb +8 -0
  204. data/lib/wx/doc/gen/grid/grid_table_base.rb +28 -3
  205. data/lib/wx/doc/gen/grid/grid_table_message.rb +2 -0
  206. data/lib/wx/doc/gen/grid_bag_sizer.rb +21 -7
  207. data/lib/wx/doc/gen/grid_sizer.rb +11 -1
  208. data/lib/wx/doc/gen/gui_event_loop.rb +13 -3
  209. data/lib/wx/doc/gen/header_ctrl.rb +110 -11
  210. data/lib/wx/doc/gen/header_ctrl_event.rb +4 -2
  211. data/lib/wx/doc/gen/help_controller.rb +14 -3
  212. data/lib/wx/doc/gen/help_provider.rb +22 -4
  213. data/lib/wx/doc/gen/html/event_list.rb +41 -37
  214. data/lib/wx/doc/gen/html/html_cell.rb +48 -6
  215. data/lib/wx/doc/gen/html/html_cell_event.rb +5 -4
  216. data/lib/wx/doc/gen/html/html_easy_printing.rb +20 -3
  217. data/lib/wx/doc/gen/html/html_help_controller.rb +26 -2
  218. data/lib/wx/doc/gen/html/html_help_data.rb +8 -1
  219. data/lib/wx/doc/gen/html/html_help_window.rb +9 -1
  220. data/lib/wx/doc/gen/html/html_link_event.rb +3 -3
  221. data/lib/wx/doc/gen/html/html_list_box.rb +54 -16
  222. data/lib/wx/doc/gen/html/html_printout.rb +7 -1
  223. data/lib/wx/doc/gen/html/html_window.rb +43 -6
  224. data/lib/wx/doc/gen/hyperlink_ctrl.rb +9 -8
  225. data/lib/wx/doc/gen/hyperlink_event.rb +3 -3
  226. data/lib/wx/doc/gen/icon.rb +23 -29
  227. data/lib/wx/doc/gen/icon_location.rb +1 -1
  228. data/lib/wx/doc/gen/image.rb +143 -20
  229. data/lib/wx/doc/gen/image_list.rb +25 -6
  230. data/lib/wx/doc/gen/info_bar.rb +14 -2
  231. data/lib/wx/doc/gen/keyboard_state.rb +11 -1
  232. data/lib/wx/doc/gen/list_box.rb +46 -17
  233. data/lib/wx/doc/gen/list_ctrl.rb +165 -29
  234. data/lib/wx/doc/gen/list_event.rb +13 -4
  235. data/lib/wx/doc/gen/listbook.rb +7 -7
  236. data/lib/wx/doc/gen/locale.rb +68 -4
  237. data/lib/wx/doc/gen/log.rb +58 -12
  238. data/lib/wx/doc/gen/mdi_client_window.rb +11 -2
  239. data/lib/wx/doc/gen/mdi_frame.rb +51 -7
  240. data/lib/wx/doc/gen/media_ctrl.rb +43 -18
  241. data/lib/wx/doc/gen/media_event.rb +6 -4
  242. data/lib/wx/doc/gen/memory_dc.rb +16 -6
  243. data/lib/wx/doc/gen/menu.rb +81 -26
  244. data/lib/wx/doc/gen/menu_bar.rb +74 -15
  245. data/lib/wx/doc/gen/menu_item.rb +67 -19
  246. data/lib/wx/doc/gen/message_dialog.rb +17 -8
  247. data/lib/wx/doc/gen/mini_frame.rb +14 -5
  248. data/lib/wx/doc/gen/mirror_dc.rb +1 -2
  249. data/lib/wx/doc/gen/mouse_state.rb +1 -1
  250. data/lib/wx/doc/gen/multi_choice_dialog.rb +9 -4
  251. data/lib/wx/doc/gen/non_owned_window.rb +4 -1
  252. data/lib/wx/doc/gen/notebook.rb +27 -9
  253. data/lib/wx/doc/gen/num_validator.rb +37 -0
  254. data/lib/wx/doc/gen/number_entry_dialog.rb +5 -1
  255. data/lib/wx/doc/gen/object.rb +3 -1
  256. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
  257. data/lib/wx/doc/gen/paint_dc.rb +1 -1
  258. data/lib/wx/doc/gen/palette.rb +5 -1
  259. data/lib/wx/doc/gen/panel.rb +25 -8
  260. data/lib/wx/doc/gen/pen.rb +46 -8
  261. data/lib/wx/doc/gen/pg/event_list.rb +97 -93
  262. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +4 -1
  263. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +12 -1
  264. data/lib/wx/doc/gen/pg/pg_cell.rb +11 -3
  265. data/lib/wx/doc/gen/pg/pg_editor.rb +161 -16
  266. data/lib/wx/doc/gen/pg/pg_multi_button.rb +3 -2
  267. data/lib/wx/doc/gen/pg/pg_properties.rb +632 -83
  268. data/lib/wx/doc/gen/pg/pg_property.rb +381 -77
  269. data/lib/wx/doc/gen/pg/pg_validation_info.rb +11 -4
  270. data/lib/wx/doc/gen/pg/property_grid.rb +123 -20
  271. data/lib/wx/doc/gen/pg/property_grid_event.rb +41 -9
  272. data/lib/wx/doc/gen/pg/property_grid_interface.rb +273 -34
  273. data/lib/wx/doc/gen/pg/property_grid_manager.rb +62 -10
  274. data/lib/wx/doc/gen/pg/property_grid_page.rb +33 -8
  275. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +18 -4
  276. data/lib/wx/doc/gen/picker_base.rb +22 -5
  277. data/lib/wx/doc/gen/platform_info.rb +35 -9
  278. data/lib/wx/doc/gen/popup_window.rb +7 -5
  279. data/lib/wx/doc/gen/progress_dialog.rb +5 -0
  280. data/lib/wx/doc/gen/property_sheet_dialog.rb +20 -4
  281. data/lib/wx/doc/gen/prt/event_list.rb +8 -4
  282. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +3 -1
  283. data/lib/wx/doc/gen/prt/post_script_dc.rb +3 -2
  284. data/lib/wx/doc/gen/prt/preview_frame.rb +5 -1
  285. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +4 -0
  286. data/lib/wx/doc/gen/prt/print_data.rb +31 -3
  287. data/lib/wx/doc/gen/prt/print_dialog.rb +5 -1
  288. data/lib/wx/doc/gen/prt/printer.rb +87 -11
  289. data/lib/wx/doc/gen/prt/printer_dc.rb +3 -1
  290. data/lib/wx/doc/gen/query_layout_info_event.rb +10 -3
  291. data/lib/wx/doc/gen/radio_box.rb +28 -10
  292. data/lib/wx/doc/gen/radio_button.rb +22 -9
  293. data/lib/wx/doc/gen/rbn/event_list.rb +127 -123
  294. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +82 -3
  295. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +26 -4
  296. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +3 -2
  297. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +50 -12
  298. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +3 -2
  299. data/lib/wx/doc/gen/rbn/ribbon_control.rb +11 -1
  300. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +21 -11
  301. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -2
  302. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -1
  303. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +16 -4
  304. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +3 -3
  305. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +27 -3
  306. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +3 -1
  307. data/lib/wx/doc/gen/rearrange_ctrl.rb +5 -2
  308. data/lib/wx/doc/gen/rearrange_list.rb +12 -4
  309. data/lib/wx/doc/gen/region.rb +104 -17
  310. data/lib/wx/doc/gen/region_iterator.rb +1 -1
  311. data/lib/wx/doc/gen/rtc/event_list.rb +116 -112
  312. data/lib/wx/doc/gen/rtc/rich_text_box.rb +27 -9
  313. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +45 -11
  314. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -1
  315. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -14
  316. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +84 -7
  317. data/lib/wx/doc/gen/rtc/rich_text_event.rb +8 -4
  318. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -2
  319. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +8 -3
  320. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +4 -2
  321. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +6 -3
  322. data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -2
  323. data/lib/wx/doc/gen/rtc/rich_text_object.rb +82 -17
  324. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +54 -11
  325. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +15 -2
  326. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +14 -9
  327. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +4 -1
  328. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +4 -3
  329. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +2 -2
  330. data/lib/wx/doc/gen/sash_event.rb +13 -4
  331. data/lib/wx/doc/gen/sash_layout_window.rb +21 -4
  332. data/lib/wx/doc/gen/sash_window.rb +6 -4
  333. data/lib/wx/doc/gen/screen_dc.rb +1 -1
  334. data/lib/wx/doc/gen/scroll_bar.rb +28 -10
  335. data/lib/wx/doc/gen/scrolled_canvas.rb +48 -10
  336. data/lib/wx/doc/gen/scrolled_control.rb +48 -10
  337. data/lib/wx/doc/gen/scrolled_window.rb +48 -10
  338. data/lib/wx/doc/gen/search_ctrl.rb +14 -9
  339. data/lib/wx/doc/gen/simplebook.rb +8 -1
  340. data/lib/wx/doc/gen/single_choice_dialog.rb +9 -4
  341. data/lib/wx/doc/gen/sizer.rb +91 -16
  342. data/lib/wx/doc/gen/sizer_item.rb +21 -4
  343. data/lib/wx/doc/gen/slider.rb +50 -17
  344. data/lib/wx/doc/gen/spin_button.rb +24 -10
  345. data/lib/wx/doc/gen/spin_ctrl.rb +35 -9
  346. data/lib/wx/doc/gen/spin_ctrl_double.rb +13 -7
  347. data/lib/wx/doc/gen/spin_double_event.rb +6 -4
  348. data/lib/wx/doc/gen/spin_event.rb +4 -3
  349. data/lib/wx/doc/gen/splash_screen.rb +3 -2
  350. data/lib/wx/doc/gen/splitter_event.rb +12 -4
  351. data/lib/wx/doc/gen/splitter_window.rb +100 -18
  352. data/lib/wx/doc/gen/static_bitmap.rb +109 -7
  353. data/lib/wx/doc/gen/static_box.rb +15 -7
  354. data/lib/wx/doc/gen/static_box_sizer.rb +3 -2
  355. data/lib/wx/doc/gen/static_line.rb +7 -4
  356. data/lib/wx/doc/gen/static_text.rb +10 -6
  357. data/lib/wx/doc/gen/status_bar.rb +32 -8
  358. data/lib/wx/doc/gen/stc/event_list.rb +212 -208
  359. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +207 -13
  360. data/lib/wx/doc/gen/stc/styled_text_event.rb +31 -6
  361. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -1
  362. data/lib/wx/doc/gen/svg_file_dc.rb +15 -7
  363. data/lib/wx/doc/gen/system_options.rb +14 -6
  364. data/lib/wx/doc/gen/system_settings.rb +9 -3
  365. data/lib/wx/doc/gen/task_bar_button.rb +324 -0
  366. data/lib/wx/doc/gen/task_bar_icon.rb +26 -8
  367. data/lib/wx/doc/gen/task_bar_icon_event.rb +5 -3
  368. data/lib/wx/doc/gen/text_attr.rb +47 -5
  369. data/lib/wx/doc/gen/text_ctrl.rb +114 -25
  370. data/lib/wx/doc/gen/text_entry.rb +69 -11
  371. data/lib/wx/doc/gen/text_entry_dialog.rb +14 -2
  372. data/lib/wx/doc/gen/text_validator.rb +58 -9
  373. data/lib/wx/doc/gen/time_picker_ctrl.rb +11 -6
  374. data/lib/wx/doc/gen/timer.rb +14 -2
  375. data/lib/wx/doc/gen/timer_event.rb +2 -2
  376. data/lib/wx/doc/gen/tip_provider.rb +6 -1
  377. data/lib/wx/doc/gen/toggle_button.rb +73 -6
  378. data/lib/wx/doc/gen/tool_bar.rb +141 -25
  379. data/lib/wx/doc/gen/tool_tip.rb +41 -5
  380. data/lib/wx/doc/gen/toolbook.rb +6 -4
  381. data/lib/wx/doc/gen/top_level_window.rb +100 -23
  382. data/lib/wx/doc/gen/tree_ctrl.rb +89 -16
  383. data/lib/wx/doc/gen/tree_event.rb +9 -4
  384. data/lib/wx/doc/gen/treebook.rb +16 -4
  385. data/lib/wx/doc/gen/ui_action_simulator.rb +10 -2
  386. data/lib/wx/doc/gen/utils.rb +94 -7
  387. data/lib/wx/doc/gen/v_list_box.rb +27 -2
  388. data/lib/wx/doc/gen/v_scrolled_window.rb +21 -4
  389. data/lib/wx/doc/gen/validator.rb +10 -14
  390. data/lib/wx/doc/gen/variant.rb +7 -0
  391. data/lib/wx/doc/gen/window.rb +415 -57
  392. data/lib/wx/doc/gen/window_dc.rb +2 -1
  393. data/lib/wx/doc/gen/window_disabler.rb +6 -2
  394. data/lib/wx/doc/gen/with_images.rb +13 -2
  395. data/lib/wx/doc/gen/wizard.rb +22 -4
  396. data/lib/wx/doc/gen/wizard_event.rb +5 -4
  397. data/lib/wx/doc/gen/wizard_page.rb +7 -2
  398. data/lib/wx/doc/gen/wizard_page_simple.rb +5 -1
  399. data/lib/wx/doc/gen/wrap_sizer.rb +5 -1
  400. data/lib/wx/doc/gen/xml_node.rb +33 -4
  401. data/lib/wx/doc/gen/xml_resource.rb +40 -5
  402. data/lib/wx/doc/generic_validator.rb +95 -0
  403. data/lib/wx/doc/graphics_context.rb +1 -0
  404. data/lib/wx/doc/grid/grid.rb +22 -1
  405. data/lib/wx/doc/help_controller.rb +11 -7
  406. data/lib/wx/doc/html/html_help_controller.rb +12 -4
  407. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  408. data/lib/wx/doc/list_ctrl.rb +33 -29
  409. data/lib/wx/doc/menu.rb +20 -0
  410. data/lib/wx/doc/notebook.rb +21 -0
  411. data/lib/wx/doc/num_validator.rb +387 -0
  412. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  413. data/lib/wx/doc/pg/events.rb +13 -9
  414. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  415. data/lib/wx/doc/pg/pg_property.rb +18 -0
  416. data/lib/wx/doc/progress_dialog.rb +36 -32
  417. data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
  418. data/lib/wx/doc/prt/print_data.rb +13 -5
  419. data/lib/wx/doc/prt/print_dialog.rb +31 -23
  420. data/lib/wx/doc/prt/printer.rb +20 -12
  421. data/lib/wx/doc/radio_box.rb +19 -15
  422. data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
  423. data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
  424. data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
  425. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
  426. data/lib/wx/doc/region_iterator.rb +32 -28
  427. data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
  428. data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
  429. data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
  430. data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
  431. data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
  432. data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
  433. data/lib/wx/doc/sizer.rb +20 -0
  434. data/lib/wx/doc/static_bitmap.rb +25 -0
  435. data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
  436. data/lib/wx/doc/stream.rb +39 -35
  437. data/lib/wx/doc/system_settings.rb +30 -26
  438. data/lib/wx/doc/text_validator.rb +23 -9
  439. data/lib/wx/doc/textctrl.rb +16 -0
  440. data/lib/wx/doc/tree_ctrl.rb +95 -0
  441. data/lib/wx/doc/treebook.rb +9 -5
  442. data/lib/wx/doc/v_list_box.rb +9 -5
  443. data/lib/wx/doc/validator.rb +113 -0
  444. data/lib/wx/doc/variant.rb +164 -160
  445. data/lib/wx/doc/window.rb +87 -47
  446. data/lib/wx/doc/window_disabler.rb +10 -6
  447. data/lib/wx/grid/grid.rb +27 -4
  448. data/lib/wx/html/events/evt_list.rb +0 -10
  449. data/lib/wx/html/simple_html_listbox.rb +24 -91
  450. data/lib/wx/keyword_defs.rb +34 -2
  451. data/lib/wx/pg/pg_property.rb +22 -0
  452. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  453. data/lib/wx/rtc/require.rb +3 -0
  454. data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
  455. data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
  456. data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
  457. data/lib/wx/stc/require.rb +1 -0
  458. data/lib/wx/stc/styled_text_ctrl.rb +25 -0
  459. data/lib/wx/version.rb +1 -1
  460. data/lib/wxruby_aui.so +0 -0
  461. data/lib/wxruby_core.so +0 -0
  462. data/lib/wxruby_grid.so +0 -0
  463. data/lib/wxruby_html.so +0 -0
  464. data/lib/wxruby_pg.so +0 -0
  465. data/lib/wxruby_prt.so +0 -0
  466. data/lib/wxruby_rbn.so +0 -0
  467. data/lib/wxruby_rtc.so +0 -0
  468. data/lib/wxruby_stc.so +0 -0
  469. data/rakelib/lib/config/linux.rb +0 -3
  470. data/rakelib/lib/config/macosx.rb +2 -2
  471. data/rakelib/lib/config/mingw.rb +13 -1
  472. data/rakelib/lib/config/unixish.rb +1 -1
  473. data/rakelib/lib/config.rb +14 -4
  474. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
  475. data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
  476. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
  477. data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
  478. data/rakelib/yard/templates/default/tags/setup.rb +16 -0
  479. data/rakelib/yard/yard-custom-templates.rb +3 -0
  480. data/samples/aui/aui.rb +1237 -1233
  481. data/samples/calendar/calendar.rb +293 -289
  482. data/samples/controls/get_item_sample.rb +83 -79
  483. data/samples/controls/htlbox.rb +331 -327
  484. data/samples/dialogs/dialogs.rb +682 -694
  485. data/samples/dialogs/wizard.rb +52 -55
  486. data/samples/dragdrop/dragdrop.rb +146 -142
  487. data/samples/drawing/bitmap.rb +29 -26
  488. data/samples/drawing/bitmap_image.rb +84 -80
  489. data/samples/drawing/graphics_drawing.rb +209 -205
  490. data/samples/drawing/image_prt.rb +344 -340
  491. data/samples/drawing/maths_images.rb +18 -1
  492. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  493. data/samples/etc/caret.rb +306 -0
  494. data/samples/etc/miniframe.rb +65 -60
  495. data/samples/etc/sash.rb +109 -105
  496. data/samples/etc/scrollwin.rb +86 -80
  497. data/samples/etc/system_settings.rb +216 -209
  498. data/samples/event/activation.rb +72 -67
  499. data/samples/event/event.rb +160 -153
  500. data/samples/event/threaded.rb +8 -1
  501. data/samples/event/update_ui_event.rb +67 -60
  502. data/samples/grid/grid.rb +188 -181
  503. data/samples/grid/gridtablebase.rb +136 -129
  504. data/samples/html/html.rb +208 -204
  505. data/samples/mdi/mdi.rb +59 -54
  506. data/samples/minimal/minimal.rb +54 -51
  507. data/samples/minimal/nothing.rb +1 -0
  508. data/samples/printing/printing.rb +367 -377
  509. data/samples/printing/printing2.rb +203 -198
  510. data/samples/propgrid/propgrid.rb +2312 -2308
  511. data/samples/propgrid/propgrid_minimal.rb +57 -50
  512. data/samples/ribbon/ribbon.rb +780 -774
  513. data/samples/sampler/ext.rb +0 -33
  514. data/samples/sampler/sample.rb +4 -9
  515. data/samples/sampler.rb +1 -1
  516. data/samples/splash/splash.rb +118 -116
  517. data/samples/text/rich_textctrl.rb +207 -201
  518. data/samples/text/richtext.rb +1409 -1405
  519. data/samples/text/scintilla.rb +137 -128
  520. data/samples/text/textctrl.rb +89 -83
  521. data/samples/text/unicode.rb +175 -168
  522. data/samples/treectrl/treectrl.rb +1430 -1426
  523. data/samples/widgets/activityindicator.rb +95 -0
  524. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  525. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  526. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  527. data/samples/widgets/art/widgets/button.xpm +54 -0
  528. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  529. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  530. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  531. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  532. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  533. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  534. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  535. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  536. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  537. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  538. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  539. data/samples/widgets/art/widgets/header.xpm +54 -0
  540. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  541. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  542. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  543. data/samples/widgets/art/widgets/native.xpm +81 -0
  544. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  545. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  546. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  547. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  548. data/samples/widgets/art/widgets/slider.xpm +54 -0
  549. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  550. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  551. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  552. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  553. data/samples/widgets/art/widgets/text.xpm +54 -0
  554. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  555. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  556. data/samples/widgets/art/widgets/toucan.png +0 -0
  557. data/samples/widgets/bmpcombobox.rb +651 -0
  558. data/samples/widgets/button.rb +462 -0
  559. data/samples/widgets/checkbox.rb +211 -0
  560. data/samples/widgets/choice.rb +287 -0
  561. data/samples/widgets/clrpicker.rb +156 -0
  562. data/samples/widgets/combobox.rb +516 -0
  563. data/samples/widgets/datepick.rb +215 -0
  564. data/samples/widgets/dirctrl.rb +265 -0
  565. data/samples/widgets/dirpicker.rb +158 -0
  566. data/samples/widgets/editlbox.rb +122 -0
  567. data/samples/widgets/filectrl.rb +216 -0
  568. data/samples/widgets/filepicker.rb +214 -0
  569. data/samples/widgets/fontpicker.rb +135 -0
  570. data/samples/widgets/gauge.rb +311 -0
  571. data/samples/widgets/headerctrl.rb +236 -0
  572. data/samples/widgets/hyperlink.rb +203 -0
  573. data/samples/widgets/itemcontainer.rb +185 -0
  574. data/samples/widgets/listbox.rb +473 -0
  575. data/samples/widgets/notebook.rb +488 -0
  576. data/samples/widgets/odcombobox.rb +608 -0
  577. data/samples/widgets/radiobox.rb +328 -0
  578. data/samples/widgets/searchctrl.rb +159 -0
  579. data/samples/widgets/slider.rb +594 -0
  580. data/samples/widgets/spinbtn.rb +443 -0
  581. data/samples/widgets/statbmp.rb +130 -0
  582. data/samples/widgets/static.rb +436 -0
  583. data/samples/widgets/textctrl.rb +700 -0
  584. data/samples/widgets/timepick.rb +148 -0
  585. data/samples/widgets/tn_widgets.png +0 -0
  586. data/samples/widgets/toggle.rb +385 -0
  587. data/samples/widgets/widgets.rb +1233 -0
  588. data/samples/xrc/custom_xrc_sample.rb +47 -41
  589. data/samples/xrc/xrc_sample.rb +53 -47
  590. data/tests/media/beep_lo.wav +0 -0
  591. data/tests/test_event_handling.rb +52 -34
  592. data/tests/test_events.rb +7 -0
  593. data/tests/test_item_data.rb +24 -0
  594. data/tests/test_list_ctrl.rb +1 -1
  595. data/tests/test_media_ctrl.rb +38 -0
  596. data/tests/test_menu.rb +69 -0
  597. data/tests/test_pg.rb +27 -0
  598. data/tests/test_richtext.rb +45 -0
  599. data/tests/test_sizer.rb +59 -0
  600. data/tests/test_std_controls.rb +42 -1
  601. data/tests/test_styled_text_ctrl.rb +46 -0
  602. data/tests/test_tree_ctrl.rb +138 -0
  603. data/tests/test_validators.rb +805 -0
  604. data/tests/test_window.rb +12 -0
  605. data/tests/testapp_noframe.rb +1 -1
  606. metadata +113 -138
  607. data/lib/wx/core/choice.rb +0 -14
  608. data/lib/wx/core/combo_ctrl.rb +0 -110
  609. data/samples/bigdemo/About.rbw +0 -39
  610. data/samples/bigdemo/ColorPanel.rbw +0 -23
  611. data/samples/bigdemo/GridSimple.rbw +0 -78
  612. data/samples/bigdemo/MDIDemo.rbw +0 -57
  613. data/samples/bigdemo/PopupMenu.rbw +0 -146
  614. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  615. data/samples/bigdemo/Sizers.rbw +0 -541
  616. data/samples/bigdemo/bigdemo.rb +0 -817
  617. data/samples/bigdemo/demoTemplate.rbw +0 -33
  618. data/samples/bigdemo/helpfile.htb +0 -0
  619. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  620. data/samples/bigdemo/icons/Test 015.png +0 -0
  621. data/samples/bigdemo/icons/choice.bmp +0 -0
  622. data/samples/bigdemo/icons/combo.bmp +0 -0
  623. data/samples/bigdemo/icons/combo.xpm +0 -27
  624. data/samples/bigdemo/icons/copy.xpm +0 -25
  625. data/samples/bigdemo/icons/cut.xpm +0 -24
  626. data/samples/bigdemo/icons/gauge.bmp +0 -0
  627. data/samples/bigdemo/icons/gauge.xpm +0 -27
  628. data/samples/bigdemo/icons/help.xpm +0 -25
  629. data/samples/bigdemo/icons/list.bmp +0 -0
  630. data/samples/bigdemo/icons/list.xpm +0 -27
  631. data/samples/bigdemo/icons/mondrian.ico +0 -0
  632. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  633. data/samples/bigdemo/icons/new.xpm +0 -24
  634. data/samples/bigdemo/icons/ogl.ico +0 -0
  635. data/samples/bigdemo/icons/ogl.xpm +0 -45
  636. data/samples/bigdemo/icons/open.xpm +0 -26
  637. data/samples/bigdemo/icons/paste.bmp +0 -0
  638. data/samples/bigdemo/icons/paste.xpm +0 -38
  639. data/samples/bigdemo/icons/pointy.png +0 -0
  640. data/samples/bigdemo/icons/preview.xpm +0 -26
  641. data/samples/bigdemo/icons/print.xpm +0 -26
  642. data/samples/bigdemo/icons/radio.bmp +0 -0
  643. data/samples/bigdemo/icons/radio.xpm +0 -27
  644. data/samples/bigdemo/icons/robert.xpm +0 -415
  645. data/samples/bigdemo/icons/sashtest.ico +0 -0
  646. data/samples/bigdemo/icons/save.xpm +0 -25
  647. data/samples/bigdemo/icons/smiles.bmp +0 -0
  648. data/samples/bigdemo/icons/smiles.xpm +0 -39
  649. data/samples/bigdemo/icons/smiley.ico +0 -0
  650. data/samples/bigdemo/icons/smiley.xpm +0 -42
  651. data/samples/bigdemo/icons/stattext.xpm +0 -24
  652. data/samples/bigdemo/icons/test2.bmp +0 -0
  653. data/samples/bigdemo/icons/test2.png +0 -0
  654. data/samples/bigdemo/icons/test2.xpm +0 -79
  655. data/samples/bigdemo/icons/text.bmp +0 -0
  656. data/samples/bigdemo/icons/text.xpm +0 -27
  657. data/samples/bigdemo/icons/tog1.bmp +0 -0
  658. data/samples/bigdemo/icons/tog1.xpm +0 -38
  659. data/samples/bigdemo/icons/tog2.bmp +0 -0
  660. data/samples/bigdemo/icons/tog2.xpm +0 -38
  661. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  662. data/samples/bigdemo/icons/wxwin.ico +0 -0
  663. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  664. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  665. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  666. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  667. data/samples/bigdemo/run.rb +0 -98
  668. data/samples/bigdemo/tips.txt +0 -7
  669. data/samples/bigdemo/utils.rb +0 -20
  670. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  671. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  672. data/samples/bigdemo/wxButton.rbw +0 -64
  673. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  674. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  675. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  676. data/samples/bigdemo/wxChoice.rbw +0 -47
  677. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  678. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  679. data/samples/bigdemo/wxComboBox.rbw +0 -77
  680. data/samples/bigdemo/wxCursor.rbw +0 -136
  681. data/samples/bigdemo/wxDialog.rbw +0 -74
  682. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  683. data/samples/bigdemo/wxDragImage.rbw +0 -70
  684. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  685. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  686. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  687. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  688. data/samples/bigdemo/wxFrame.rbw +0 -53
  689. data/samples/bigdemo/wxGauge.rbw +0 -65
  690. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  691. data/samples/bigdemo/wxGrid.rbw +0 -66
  692. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  693. data/samples/bigdemo/wxListBox.rbw +0 -140
  694. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  695. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  696. data/samples/bigdemo/wxMenu.rbw +0 -247
  697. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  698. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  699. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  700. data/samples/bigdemo/wxNotebook.rbw +0 -136
  701. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  702. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  703. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  704. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  705. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  706. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  707. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  708. data/samples/bigdemo/wxSlider.rbw +0 -42
  709. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  710. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  711. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  712. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  713. data/samples/bigdemo/wxStaticText.rbw +0 -55
  714. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  715. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  716. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  717. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  718. data/samples/bigdemo/wxToolBar.rbw +0 -131
  719. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  720. data/samples/caret/caret.rb +0 -298
  721. data/samples/caret/mondrian.xpm +0 -44
  722. data/samples/controls/books.rb +0 -189
  723. data/samples/controls/choice.xpm +0 -27
  724. data/samples/controls/combo.xpm +0 -27
  725. data/samples/controls/controls.rb +0 -1099
  726. data/samples/controls/gauge.xpm +0 -27
  727. data/samples/controls/list.xpm +0 -27
  728. data/samples/controls/mondrian.ico +0 -0
  729. data/samples/controls/mondrian.xpm +0 -44
  730. data/samples/controls/radio.xpm +0 -27
  731. data/samples/controls/stattext.xpm +0 -24
  732. data/samples/controls/test2.bmp +0 -0
  733. data/samples/controls/text.xpm +0 -27
  734. data/samples/controls/tn_books.png +0 -0
  735. data/samples/controls/tn_controls.png +0 -0
  736. data/samples/etc/choice.rb +0 -87
  737. data/samples/etc/tn_choice.png +0 -0
  738. data/samples/text/mondrian.ico +0 -0
  739. data/samples/text/mondrian.xpm +0 -44
  740. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -1,1099 +0,0 @@
1
- # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
- #
3
- # This software is released under the MIT license.
4
- #
5
- # Some parts are
6
- # Copyright 2004-2007, wxRuby development team
7
- # released under the MIT-like wxRuby2 license
8
-
9
- # Adapted for wxRuby3
10
- ###
11
-
12
- require 'wx'
13
-
14
- include Wx
15
-
16
- CONTROLS_QUIT = ID_EXIT
17
- CONTROLS_TEXT = 101
18
- CONTROLS_ABOUT = ID_ABOUT
19
- CONTROLS_CLEAR_LOG = 103
20
- # tooltip menu
21
- CONTROLS_SET_TOOLTIP_DELAY = 200
22
- CONTROLS_ENABLE_TOOLTIPS = 201
23
- # panel menu
24
- CONTROLS_ENABLE_ALL = 202
25
-
26
-
27
- ID_NOTEBOOK = 1000
28
-
29
- ID_LISTBOX = 130
30
- ID_LISTBOX_SEL_NUM = 131
31
- ID_LISTBOX_SEL_STR = 132
32
- ID_LISTBOX_CLEAR = 133
33
- ID_LISTBOX_APPEND = 134
34
- ID_LISTBOX_DELETE = 135
35
- ID_LISTBOX_FONT = 136
36
- ID_LISTBOX_ENABLE = 137
37
- ID_LISTBOX_SORTED = 138
38
-
39
- ID_CHOICE = 120
40
- ID_CHOICE_SEL_NUM = 121
41
- ID_CHOICE_SEL_STR = 122
42
- ID_CHOICE_CLEAR = 123
43
- ID_CHOICE_APPEND = 124
44
- ID_CHOICE_DELETE = 125
45
- ID_CHOICE_FONT = 126
46
- ID_CHOICE_ENABLE = 127
47
- ID_CHOICE_SORTED = 128
48
-
49
- ID_COMBO = 140
50
- ID_COMBO_SEL_NUM = 141
51
- ID_COMBO_SEL_STR = 142
52
- ID_COMBO_CLEAR = 143
53
- ID_COMBO_APPEND = 144
54
- ID_COMBO_DELETE = 145
55
- ID_COMBO_FONT = 146
56
- ID_COMBO_ENABLE = 147
57
-
58
- ID_RADIOBOX = 160
59
- ID_RADIOBOX_SEL_NUM = 161
60
- ID_RADIOBOX_SEL_STR = 162
61
- ID_RADIOBOX_FONT = 163
62
- ID_RADIOBOX_ENABLE = 164
63
-
64
- ID_RADIOBUTTON_1 = 166
65
- ID_RADIOBUTTON_2 = 167
66
-
67
- ID_SET_FONT = 170
68
-
69
- ID_GAUGE = 180
70
- ID_SLIDER = 181
71
-
72
- ID_SPIN = 182
73
- ID_BTNPROGRESS = 183
74
- ID_BUTTON_LABEL = 184
75
- ID_SPINCTRL = 185
76
-
77
- ID_BUTTON_TEST1 = 190
78
- ID_BUTTON_TEST2 = 191
79
- ID_BITMAP_BTN = 192
80
-
81
- ID_CHANGE_COLOUR = 200
82
-
83
- ID_SIZER_CHECK1 = 201
84
- ID_SIZER_CHECK2 = 202
85
- ID_SIZER_CHECK3 = 203
86
- ID_SIZER_CHECK4 = 204
87
- ID_SIZER_CHECK14 = 205
88
- ID_SIZER_CHECKBIG = 206
89
-
90
- Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max = (0..6).to_a
91
-
92
-
93
- # a button which intercepts double clicks (for testing...)
94
- class MyButton < Button
95
- def initialize(parent,id,label = EmptyString,pos = DEFAULT_POSITION,size = DEFAULT_SIZE)
96
- super(parent,id,label,pos,size)
97
-
98
- evt_left_dclick {|event| onDClick(event)}
99
- end
100
-
101
- def onDClick(event)
102
- log_message("MyButton::OnDClick")
103
- event.skip()
104
- end
105
-
106
- end
107
-
108
- # a combo which intercepts chars (to test Windows behaviour)
109
- class MyComboBox < ComboBox
110
- def initialize(parent,id,value = EmptyString,
111
- pos = DEFAULT_POSITION,
112
- size = DEFAULT_SIZE,
113
- choices = [],
114
- style = 0)
115
- super(parent, id, value, pos, size, choices)#, style)
116
-
117
- evt_char {|event| onChar(event)}
118
- evt_key_down {|event| onKeyDown(event)}
119
- evt_key_up {|event| onKeyUp(event)}
120
-
121
- evt_set_focus {|event| onFocusGot(event)}
122
- end
123
-
124
- def onChar(event)
125
- log_message("MyComboBox::OnChar : [#{event.get_unicode_key ? event.get_unicode_key.ord : 0}]")
126
- if event.get_unicode_key == ?w
127
- log_message("MyComboBox: 'w' will be ignored.")
128
- else
129
- event.skip()
130
- end
131
- end
132
-
133
- def onKeyDown(event)
134
- log_message("MyComboBox::OnKeyDown")
135
- if event.key_code() == ?w
136
- log_message("MyComboBox: 'w' will be ignored.")
137
- else
138
- event.skip()
139
- end
140
- end
141
-
142
- def onKeyUp(event)
143
- #log_message("MyComboBox::OnKeyUp")
144
- event.skip()
145
- end
146
-
147
- def onFocusGot(event)
148
- log_message("MyComboBox::OnFocusGot")
149
- event.skip()
150
- end
151
-
152
- end
153
-
154
- # a radiobox which handles focus set/kill (for testing)
155
- class MyRadioBox < RadioBox
156
- def initialize(parent,
157
- id,title = EmptyString,
158
- pos = DEFAULT_POSITION,
159
- size = DEFAULT_SIZE,
160
- choices = [],
161
- majorDim = 1,
162
- style = RA_HORIZONTAL)
163
- super(parent, id, title, pos, size, choices, majorDim,style)
164
- set_foreground_colour(RED)
165
-
166
- evt_set_focus {|event| onFocusGot(event)}
167
- evt_kill_focus {|event| onFocusLost(event)}
168
-
169
- end
170
-
171
- def onFocusGot(event)
172
- log_message("MyRadioBox::OnFocusGot")
173
- event.skip()
174
- end
175
-
176
- def onFocusLost(event)
177
- log_message("MyRadioBox::OnFocusLost")
178
- event.skip()
179
- end
180
-
181
- end
182
-
183
-
184
- class MyPanel < Panel
185
-
186
- attr_reader :m_text,:m_logTargetOld
187
-
188
- def initialize(frame,x,y,w,h)
189
- super( frame, -1, Point.new(x, y), Size.new(w, h) )
190
-
191
- @s_colOld = NULL_COLOUR
192
-
193
- @m_text = TextCtrl.new(self, -1, "This is the log window.\n",
194
- Point.new(0, 250), Size.new(100, 50), TE_MULTILINE)
195
- @m_text.set_background_colour(Colour.new("wheat"))
196
-
197
- @m_logTargetOld = Log::set_active_target(LogTextCtrl.new(@m_text))
198
-
199
- @m_notebook = Wx::Notebook.new(self, ID_NOTEBOOK, Point.new(0,0), Size.new(100,50))
200
-
201
- choices = [
202
- "This",
203
- "is one of my",
204
- "really",
205
- "wonderful",
206
- "examples."
207
- ]
208
-
209
- # fill the image list
210
-
211
- imagelist = ImageList.new(16, 16)
212
-
213
- imagelist.add( Bitmap.new( local_icon_file("list.xpm"),
214
- Wx::BITMAP_TYPE_XPM))
215
- imagelist.add( Bitmap.new( local_icon_file("choice.xpm"),
216
- Wx::BITMAP_TYPE_XPM))
217
- imagelist.add( Bitmap.new( local_icon_file("combo.xpm"),
218
- Wx::BITMAP_TYPE_XPM))
219
- imagelist.add( Bitmap.new( local_icon_file("text.xpm"),
220
- Wx::BITMAP_TYPE_XPM))
221
- imagelist.add( Bitmap.new( local_icon_file("radio.xpm"),
222
- Wx::BITMAP_TYPE_XPM))
223
- imagelist.add( Bitmap.new( local_icon_file("gauge.xpm"),
224
- Wx::BITMAP_TYPE_XPM))
225
-
226
- @m_notebook.set_image_list(imagelist)
227
-
228
- panel = Panel.new(@m_notebook)
229
- @m_listbox = ListBox.new( panel, ID_LISTBOX,
230
- Point.new(10,10), Size.new(120,70),
231
- choices, LB_ALWAYS_SB )
232
-
233
- @m_listboxSorted = ListBox.new( panel, ID_LISTBOX_SORTED,
234
- Point.new(10,90), Size.new(120,70),
235
- choices, LB_SORT )
236
-
237
-
238
- @m_listbox.set_cursor(CROSS_CURSOR)
239
-
240
- @m_listbox.set_tool_tip( "This is a list box" )
241
-
242
-
243
- @m_lbSelectNum = Button.new( panel, ID_LISTBOX_SEL_NUM, "Select #&2", Point.new(180,30), Size.new(140,30) )
244
- @m_lbSelectThis = Button.new( panel, ID_LISTBOX_SEL_STR, "&Select 'This'", Point.new(340,30), Size.new(140,30) )
245
- Button.new( panel, ID_LISTBOX_CLEAR, "&clear", Point.new(180,80), Size.new(140,30) )
246
- MyButton.new( panel, ID_LISTBOX_APPEND, "&append 'Hi!'", Point.new(340,80), Size.new(140,30) )
247
- Button.new( panel, ID_LISTBOX_DELETE, "D&elete selected item", Point.new(180,130), Size.new(140,30) )
248
- button = MyButton.new( panel, ID_LISTBOX_FONT, "Set &Italic font", Point.new(340,130), Size.new(140,30) )
249
-
250
- button.set_default()
251
-
252
- button.set_foreground_colour(BLUE)
253
-
254
- button.set_tool_tip( "Press here to set italic font" )
255
-
256
- @m_checkbox = CheckBox.new( panel, ID_LISTBOX_ENABLE, "&Disable", Point.new(20,170) )
257
- @m_checkbox.set_value(false)
258
- @m_checkbox.set_tool_tip( "Click here to disable the listbox" )
259
- @m_toggle_color = CheckBox.new( panel, ID_CHANGE_COLOUR, "&Toggle colour",
260
- Point.new(110,170) )
261
- panel.set_cursor(Cursor.new(CURSOR_HAND))
262
- @m_notebook.add_page(panel, "ListBox", true, Image_List)
263
-
264
- panel = Panel.new(@m_notebook)
265
- @m_choice = Choice.new( panel, ID_CHOICE, Point.new(10,10), Size.new(120,-1), choices )
266
- @m_choiceSorted = Choice.new( panel, ID_CHOICE_SORTED, Point.new(10,70), Size.new(120,-1),
267
- choices, CB_SORT )
268
-
269
- @m_choice.set_selection(2)
270
- @m_choice.set_background_colour(Colour.new("red"))
271
- Button.new( panel, ID_CHOICE_SEL_NUM, "Select #&2", Point.new(180,30), Size.new(140,30) )
272
- Button.new( panel, ID_CHOICE_SEL_STR, "&Select 'This'", Point.new(340,30), Size.new(140,30) )
273
- Button.new( panel, ID_CHOICE_CLEAR, "&clear", Point.new(180,80), Size.new(140,30) )
274
- Button.new( panel, ID_CHOICE_APPEND, "&append 'Hi!'", Point.new(340,80), Size.new(140,30) )
275
- Button.new( panel, ID_CHOICE_DELETE, "D&elete selected item", Point.new(180,130), Size.new(140,30) )
276
- Button.new( panel, ID_CHOICE_FONT, "Set &Italic font", Point.new(340,130), Size.new(140,30) )
277
- CheckBox.new( panel, ID_CHOICE_ENABLE, "&Disable", Point.new(20,130), Size.new(140,30) )
278
-
279
- @m_notebook.add_page(panel, "Choice", false, Image_Choice)
280
-
281
- panel = Panel.new(@m_notebook)
282
- box = StaticBox.new( panel, -1, "&Box around combobox",
283
- Point.new(5, 5), Size.new(150, 100))
284
- @m_combo = MyComboBox.new( box, ID_COMBO, "This",
285
- Point.new(15,20), Size.new(120, -1),
286
- choices,TE_PROCESS_ENTER)
287
- # CB_READONLY | PROCESS_ENTER)
288
-
289
- @m_combo.set_tool_tip("This is a natural\ncombobox - can you believe me?")
290
-
291
- Button.new( panel, ID_COMBO_SEL_NUM, "Select #&2", Point.new(180,30), Size.new(140,30) )
292
- Button.new( panel, ID_COMBO_SEL_STR, "&Select 'This'", Point.new(340,30), Size.new(140,30) )
293
- Button.new( panel, ID_COMBO_CLEAR, "&clear", Point.new(180,80), Size.new(140,30) )
294
- Button.new( panel, ID_COMBO_APPEND, "&append 'Hi!'", Point.new(340,80), Size.new(140,30) )
295
- Button.new( panel, ID_COMBO_DELETE, "D&elete selected item", Point.new(180,130), Size.new(140,30) )
296
- Button.new( panel, ID_COMBO_FONT, "Set &Italic font", Point.new(340,130), Size.new(140,30) )
297
- CheckBox.new( panel, ID_COMBO_ENABLE, "&Disable", Point.new(20,130), Size.new(140,30) )
298
- @m_notebook.add_page(panel, "ComboBox", false, Image_Combo)
299
-
300
- choices2 = ["First", "Second"]
301
- # "Third",
302
- #"Fourth", "Fifth", "Sixth",
303
- #"Seventh", "Eighth", "Nineth", "Tenth" */
304
-
305
- panel = Panel.new(@m_notebook)
306
- MyRadioBox.new( panel, ID_RADIOBOX, "&That", Point.new(10,160), Size.new(-1,-1), choices2, 1, RA_SPECIFY_ROWS )
307
- @m_radio = RadioBox.new( panel, ID_RADIOBOX, "T&his", Point.new(10,10), Size.new(-1,-1), choices, 1, RA_SPECIFY_COLS )
308
- @m_radio.set_foreground_colour(RED)
309
-
310
- @m_radio.set_tool_tip("Ever seen a radiobox?")
311
-
312
- Button.new( panel, ID_RADIOBOX_SEL_NUM, "Select #&2", Point.new(180,30), Size.new(140,30) )
313
- Button.new( panel, ID_RADIOBOX_SEL_STR, "&Select 'This'", Point.new(180,80), Size.new(140,30) )
314
- @m_fontButton = Button.new( panel, ID_SET_FONT, "Set &more Italic font", Point.new(340,30), Size.new(140,30) )
315
- Button.new( panel, ID_RADIOBOX_FONT, "Set &Italic font", Point.new(340,80), Size.new(140,30) )
316
- CheckBox.new( panel, ID_RADIOBOX_ENABLE, "&Disable", Point.new(340,130), DEFAULT_SIZE )
317
- rb = RadioButton.new( panel, ID_RADIOBUTTON_1, "Radiobutton1", Point.new(210,170), DEFAULT_SIZE, RB_GROUP )
318
- rb.set_value( false )
319
- RadioButton.new( panel, ID_RADIOBUTTON_2, "&Radiobutton2", Point.new(340,170), DEFAULT_SIZE )
320
- @m_notebook.add_page(panel, "RadioBox", false, Image_Radio)
321
-
322
- panel = Panel.new(@m_notebook)
323
- box = StaticBox.new( panel, -1, "&Gauge and Slider", Point.new(10,10), Size.new(240,170) )
324
- @m_gauge = Gauge.new( box, -1, 200, Point.new(10,30), Size.new(155, 30), GA_HORIZONTAL|NO_BORDER )
325
- @m_gauge.set_background_colour(GREEN)
326
- @m_gauge.set_foreground_colour(RED)
327
- @m_gaugeVert = Gauge.new( box, -1, 100,
328
- Point.new(185,25), Size.new(30, 90),
329
- GA_VERTICAL | GA_SMOOTH | NO_BORDER )
330
- @m_slider = Slider.new( box, ID_SLIDER, 0, 0, 200, Point.new(10,70), Size.new(155,-1),
331
- SL_AUTOTICKS | SL_LABELS )
332
- @m_slider.set_tick_freq(40) unless Wx::PLATFORM == 'WXOSX'
333
- @m_slider.set_tool_tip("This is a sliding slider")
334
-
335
- box = StaticBox.new(panel, -1, "&Explanation",
336
- Point.new(250,10), Size.new(310,170),
337
- ALIGN_CENTER )
338
-
339
- StaticText.new( box, -1,
340
- "In order see the gauge (aka progress bar)\n"+
341
- "control do something you have to drag the\n"+
342
- "handle of the slider to the right.\n"+
343
- "\n"+
344
- "This is also supposed to demonstrate how\n"+
345
- "to use static controls.\n",
346
- Point.new(10,10),
347
- DEFAULT_SIZE)
348
- #Size.new(240, 110))
349
- initialSpinValue = -5
350
- s = initialSpinValue.to_s
351
- @m_spintext = TextCtrl.new( panel, -1, s, Point.new(20,195), Size.new(80,-1) )
352
- @m_spinbutton = SpinButton.new( panel, ID_SPIN, Point.new(103,195), Size.new(80, @m_spintext.size.height) )
353
- @m_spinbutton.set_range(-40,30)
354
- @m_spinbutton.set_value(initialSpinValue)
355
-
356
- @m_btnProgress = Button.new( panel, ID_BTNPROGRESS, "&Show progress dialog",
357
- Point.new(300, 195) )
358
-
359
- @m_spinctrl = SpinCtrl.new( panel, ID_SPINCTRL, "", Point.new(200, 195), Size.new(95, @m_spintext.size.height) )
360
- @m_spinctrl.set_range(10,30)
361
- @m_spinctrl.set_value(15)
362
-
363
- @m_notebook.add_page(panel, "Gauge", false, Image_Gauge)
364
-
365
- panel = Panel.new(@m_notebook)
366
-
367
- icon = ArtProvider::get_icon(ART_INFORMATION)
368
- StaticBitmap.new( panel, -1, icon, Point.new(10, 10) )
369
-
370
- bitmap = Bitmap.new( 100, 100 )
371
- bitmap.draw do | dc |
372
- dc.clear()
373
- dc.set_pen(GREEN_PEN)
374
- dc.draw_ellipse(5, 5, 90, 90)
375
- dc.draw_text("Bitmap", 30, 40)
376
- end
377
-
378
- BitmapButton.new(panel, ID_BITMAP_BTN, bitmap, Point.new(100, 20))
379
-
380
- # test for masked bitmap display
381
- bitmap = Bitmap.new( File.join(File.dirname(__FILE__), "test2.bmp"),
382
- BITMAP_TYPE_BMP)
383
- if bitmap.is_ok()
384
- bitmap.set_mask(Mask.new(bitmap, BLUE))
385
- StaticBitmap.new(panel, -1, bitmap, Point.new(300, 120))
386
- end
387
-
388
- bmp1 = ArtProvider::get_bitmap(ART_INFORMATION)
389
- bmp2 = ArtProvider::get_bitmap(ART_WARNING)
390
- bmp3 = ArtProvider::get_bitmap(ART_QUESTION)
391
- bmpBtn = BitmapButton.new(panel, -1,
392
- bmp1,
393
- Point.new(30, 70))
394
-
395
- bmpBtn.set_bitmap_current(bmp2)
396
- bmpBtn.set_bitmap_pressed(bmp3)
397
-
398
- ToggleButton.new(panel, ID_BUTTON_LABEL,
399
- "&Toggle label", Point.new(250, 20))
400
- @m_label = StaticText.new(panel, -1, "Label with some long text",
401
- Point.new(250, 60), DEFAULT_SIZE,
402
- ALIGN_RIGHT)
403
- @m_label.set_foreground_colour(BLUE )
404
-
405
- @m_notebook.add_page(panel, "BitmapXXX")
406
-
407
- # sizer
408
-
409
- panel = Panel.new(@m_notebook)
410
- panel.set_auto_layout( true )
411
-
412
- sizer = BoxSizer.new( VERTICAL )
413
-
414
- csizer =
415
- StaticBoxSizer.new(sbox = StaticBox.new(panel, -1, "Show Buttons"),
416
- HORIZONTAL )
417
-
418
- check1 = CheckBox.new(sbox, ID_SIZER_CHECK1, "1")
419
- check1.set_value(true)
420
- csizer.add(check1)
421
- check2 = CheckBox.new(sbox, ID_SIZER_CHECK2, "2")
422
- check2.set_value(true)
423
- csizer.add(check2)
424
- check3 = CheckBox.new(sbox, ID_SIZER_CHECK3, "3")
425
- check3.set_value(true)
426
- csizer.add(check3)
427
- check4 = CheckBox.new(sbox, ID_SIZER_CHECK4, "4")
428
- check4.set_value(true)
429
- csizer.add(check4)
430
- check14 = CheckBox.new(sbox, ID_SIZER_CHECK14, "1-4")
431
- check14.set_value(true)
432
- csizer.add(check14)
433
- checkBig = CheckBox.new(sbox, ID_SIZER_CHECKBIG, "Big")
434
- checkBig.set_value(true)
435
- csizer.add(checkBig)
436
-
437
- sizer.add(csizer)
438
-
439
- @m_hsizer = BoxSizer.new( HORIZONTAL )
440
-
441
- @m_buttonSizer = BoxSizer.new(VERTICAL)
442
-
443
- @m_sizerBtn1 = Button.new(panel, -1, "Test Button &1" )
444
- @m_buttonSizer.add( @m_sizerBtn1, 0, ALL, 10 )
445
- @m_sizerBtn2 = Button.new(panel, -1, "Test Button &2" )
446
- @m_buttonSizer.add( @m_sizerBtn2, 0, ALL, 10 )
447
- @m_sizerBtn3 = Button.new(panel, -1, "Test Button &3" )
448
- @m_buttonSizer.add( @m_sizerBtn3, 0, ALL, 10 )
449
- @m_sizerBtn4 = Button.new(panel, -1, "Test Button &4" )
450
- @m_buttonSizer.add( @m_sizerBtn4, 0, ALL, 10 )
451
-
452
- @m_hsizer.add(@m_buttonSizer)
453
- @m_hsizer.add( 20,20, 1 )
454
- @m_bigBtn = Button.new(panel, -1, "Multiline\nbutton" )
455
- @m_hsizer.add( @m_bigBtn , 3, GROW|ALL, 10 )
456
-
457
- sizer.add(@m_hsizer, 1, GROW)
458
-
459
- panel.set_sizer( sizer )
460
-
461
- @m_notebook.add_page(panel, "Sizer")
462
-
463
- evt_size {|event| onSize(event) }
464
- evt_notebook_page_changing(ID_NOTEBOOK) {|event| onPageChanging(event) }
465
- evt_notebook_page_changed(ID_NOTEBOOK) {|event| onPageChanged(event) }
466
- evt_listbox(ID_LISTBOX) {|event| onListBox(event) }
467
- evt_listbox(ID_LISTBOX_SORTED) {|event| onListBox(event) }
468
- evt_listbox_dclick(ID_LISTBOX) {|event| onListBoxDoubleClick(event) }
469
- evt_button(ID_LISTBOX_SEL_NUM) {|event| onListBoxButtons(event) }
470
- evt_button(ID_LISTBOX_SEL_STR) {|event| onListBoxButtons(event) }
471
- evt_button(ID_LISTBOX_CLEAR) {|event| onListBoxButtons(event) }
472
- evt_button(ID_LISTBOX_APPEND) {|event| onListBoxButtons(event) }
473
- evt_button(ID_LISTBOX_DELETE) {|event| onListBoxButtons(event) }
474
- evt_button(ID_LISTBOX_FONT) {|event| onListBoxButtons(event) }
475
- evt_checkbox(ID_LISTBOX_ENABLE) {|event| onListBoxButtons(event) }
476
- evt_choice(ID_CHOICE) {|event| onChoice(event) }
477
- evt_choice(ID_CHOICE_SORTED) {|event| onChoice(event) }
478
- evt_button(ID_CHOICE_SEL_NUM) {|event| onChoiceButtons(event) }
479
- evt_button(ID_CHOICE_SEL_STR) {|event| onChoiceButtons(event) }
480
- evt_button(ID_CHOICE_CLEAR) {|event| onChoiceButtons(event) }
481
- evt_button(ID_CHOICE_APPEND) {|event| onChoiceButtons(event) }
482
- evt_button(ID_CHOICE_DELETE) {|event| onChoiceButtons(event) }
483
- evt_button(ID_CHOICE_FONT) {|event| onChoiceButtons(event) }
484
- evt_checkbox(ID_CHOICE_ENABLE) {|event| onChoiceButtons(event) }
485
- evt_combobox(ID_COMBO) {|event| onCombo(event) }
486
- evt_text(ID_COMBO) {|event| onComboTextChanged(event) }
487
- evt_text_enter(ID_COMBO) {|event| onComboTextEnter(event) }
488
- evt_button(ID_COMBO_SEL_NUM) {|event| onComboButtons(event) }
489
- evt_button(ID_COMBO_SEL_STR) {|event| onComboButtons(event) }
490
- evt_button(ID_COMBO_CLEAR) {|event| onComboButtons(event) }
491
- evt_button(ID_COMBO_APPEND) {|event| onComboButtons(event) }
492
- evt_button(ID_COMBO_DELETE) {|event| onComboButtons(event) }
493
- evt_button(ID_COMBO_FONT) {|event| onComboButtons(event) }
494
- evt_checkbox(ID_COMBO_ENABLE) {|event| onComboButtons(event) }
495
- evt_radiobox(ID_RADIOBOX) {|event| onRadio(event) }
496
- evt_button(ID_RADIOBOX_SEL_NUM) {|event| onRadioButtons(event) }
497
- evt_button(ID_RADIOBOX_SEL_STR) {|event| onRadioButtons(event) }
498
- evt_button(ID_RADIOBOX_FONT) {|event| onRadioButtons(event) }
499
- evt_checkbox(ID_RADIOBOX_ENABLE) {|event| onRadioButtons(event) }
500
- evt_button(ID_SET_FONT) {|event| onSetFont(event) }
501
- evt_slider(ID_SLIDER) {|event| onSliderupdate(event) }
502
- evt_spin(ID_SPIN) {|event| onSpinupdate(event) }
503
- evt_spin_up(ID_SPIN) {|event| onSpinUp(event) }
504
- evt_spin_down(ID_SPIN) {|event| onSpinDown(event) }
505
- evt_update_ui(ID_BTNPROGRESS) {|event| onupdateShowProgress(event) }
506
- evt_button(ID_BTNPROGRESS) {|event| onShowProgress(event) }
507
- evt_spinctrl(ID_SPINCTRL) {|event| onSpinCtrl(event) }
508
- evt_spin_up(ID_SPINCTRL) {|event| onSpinCtrlUp(event) }
509
- evt_spin_down(ID_SPINCTRL) {|event| onSpinCtrlDown(event) }
510
- evt_text(ID_SPINCTRL) {|event| onSpinCtrlText(event) }
511
- if (RUBY_PLATFORM =~ /mswin/)
512
- evt_togglebutton(ID_BUTTON_LABEL) {|event| onupdateLabel(event) }
513
- end
514
- evt_checkbox(ID_CHANGE_COLOUR) {|event| onChangeColour(event) }
515
- evt_button(ID_BUTTON_TEST1) {|event| onTestButton(event) }
516
- evt_button(ID_BUTTON_TEST2) {|event| onTestButton(event) }
517
- evt_button(ID_BITMAP_BTN) {|event| onBmpButton(event) }
518
-
519
- evt_checkbox(ID_SIZER_CHECK1) {|event| onSizerCheck(event) }
520
- evt_checkbox(ID_SIZER_CHECK2) {|event| onSizerCheck(event) }
521
- evt_checkbox(ID_SIZER_CHECK3) {|event| onSizerCheck(event) }
522
- evt_checkbox(ID_SIZER_CHECK4) {|event| onSizerCheck(event) }
523
- evt_checkbox(ID_SIZER_CHECK14) {|event| onSizerCheck(event) }
524
- evt_checkbox(ID_SIZER_CHECKBIG) {|event| onSizerCheck(event) }
525
-
526
- end
527
-
528
- # utility function to find an icon relative to this ruby script
529
- def local_icon_file(icon_name)
530
- File.join( __dir__, icon_name)
531
- end
532
-
533
-
534
- def onSize(event)
535
- size = get_client_size()
536
- x = size.get_width
537
- y = size.get_height
538
- if @m_notebook
539
- @m_notebook.set_size( 2, 2, x-4, y*2/3-4 )
540
- end
541
- if @m_text
542
- @m_text.set_size( 2, y*2/3+2, x-4, y/3-4 )
543
- end
544
- end
545
-
546
- def onPageChanging(event)
547
-
548
- selOld = event.get_old_selection()
549
- if selOld == 2
550
- if message_box("This demonstrates how a program may prevent the\n"+
551
- "page change from taking place - if you select\n"+
552
- "[No] the current page will stay the third one\n",
553
- "Control sample",
554
- ICON_QUESTION | YES_NO, self) != YES
555
- event.veto()
556
- return nil
557
- end
558
- end
559
- @m_text << "Notebook selection is being changed from " << selOld \
560
- << " to " << event.get_selection() \
561
- << " (current page from notebook is " \
562
- << @m_notebook.get_selection() << ")\n"
563
- end
564
-
565
- def onPageChanged(event)
566
- @m_text << "Notebook selection is now " << event.get_selection() \
567
- << " (from notebook: " << @m_notebook.get_selection() \
568
- << ")\n"
569
- end
570
-
571
- def onTestButton(event)
572
- log_message("Button %s clicked.",
573
- event.get_id() == ID_BUTTON_TEST1 ? '1' : '2')
574
- end
575
-
576
- def onBmpButton(event)
577
- log_message("Bitmap button clicked.")
578
- end
579
-
580
- def onChangeColour(event)
581
- # test panel colour changing and propagation to the subcontrols
582
- if @s_colOld.is_ok()
583
-
584
- set_background_colour(@s_colOld)
585
- @s_colOld = NULL_COLOUR
586
-
587
- @m_lbSelectThis.set_foreground_colour(Colour.new("red"))
588
- @m_lbSelectThis.set_background_colour(Colour.new("white"))
589
- else
590
- @s_colOld = Colour.new("red")
591
- set_background_colour(Colour.new("white"))
592
-
593
- @m_lbSelectThis.set_foreground_colour(Colour.new("white"))
594
- @m_lbSelectThis.set_background_colour(Colour.new("red"))
595
- end
596
-
597
- @m_lbSelectThis.refresh()
598
- refresh()
599
- end
600
-
601
- def onListBox(event)
602
- # GetParent().Move(100, 100)
603
- if event.get_int() == -1
604
- @m_text.append_text( "ListBox has no selections anymore\n" )
605
- return Qnil
606
- end
607
-
608
- listbox = (event.get_id() == ID_LISTBOX) ? @m_listbox : @m_listboxSorted
609
-
610
- @m_text.append_text( "ListBox event selection string is: '" )
611
- @m_text.append_text( event.get_string() )
612
- @m_text.append_text( "'\n" )
613
- @m_text.append_text( "ListBox control selection string is: '" )
614
- @m_text.append_text( listbox.get_string_selection() )
615
- @m_text.append_text( "'\n" )
616
- end
617
-
618
- def onListBoxDoubleClick(event)
619
- @m_text.append_text( "ListBox double click string is: " )
620
- @m_text.append_text( event.get_string() )
621
- @m_text.append_text( "\n" )
622
- end
623
-
624
- def onListBoxButtons(event)
625
- case event.get_id()
626
- when ID_LISTBOX_ENABLE
627
- @m_text.append_text("Checkbox clicked.\n")
628
- if event.get_int() != 0
629
- @m_checkbox.set_tool_tip( "Click to enable listbox" )
630
- @m_toggle_color.enable(false)
631
- else
632
- @m_checkbox.set_tool_tip( "Click to disable listbox" )
633
- @m_toggle_color.enable(true)
634
- end
635
- @m_listbox.enable( event.get_int() == 0 )
636
- @m_lbSelectThis.enable( event.get_int() == 0 )
637
- @m_lbSelectNum.enable( event.get_int() == 0 )
638
- @m_listboxSorted.enable( event.get_int() == 0 )
639
- when ID_LISTBOX_SEL_NUM
640
- @m_listbox.set_selection( 2 )
641
- @m_listboxSorted.set_selection( 2 )
642
- @m_lbSelectThis.warp_pointer( 40, 14 )
643
- when ID_LISTBOX_SEL_STR
644
- @m_listbox.set_string_selection( "This" )
645
- @m_listboxSorted.set_string_selection( "This" )
646
- @m_lbSelectNum.warp_pointer( 40, 14 )
647
- when ID_LISTBOX_CLEAR
648
- @m_listbox.clear()
649
- @m_listboxSorted.clear()
650
- when ID_LISTBOX_APPEND
651
- @m_listbox.append( "Hi!" )
652
- @m_listboxSorted.append( "Hi!" )
653
- when ID_LISTBOX_DELETE
654
- idx = @m_listbox.get_selection()
655
- if idx != NOT_FOUND
656
- @m_listbox.delete( idx )
657
- end
658
- idx = @m_listboxSorted.get_selection()
659
- if idx != NOT_FOUND
660
- @m_listboxSorted.delete( idx )
661
- end
662
- when ID_LISTBOX_FONT
663
- @m_listbox.set_font( ITALIC_FONT )
664
- @m_listboxSorted.set_font( ITALIC_FONT )
665
- @m_checkbox.set_font( ITALIC_FONT )
666
- end
667
- end
668
-
669
-
670
- def onChoice(event)
671
-
672
- choice = (event.get_id() == ID_CHOICE) ? @m_choice : @m_choiceSorted
673
-
674
- @m_text.append_text( "Choice event selection string is: '" )
675
- @m_text.append_text( event.get_string() )
676
- @m_text.append_text( "'\n" )
677
- @m_text.append_text( "Choice control selection string is: '" )
678
- @m_text.append_text( choice.get_string_selection() )
679
- @m_text.append_text( "'\n" )
680
- end
681
-
682
- def onChoiceButtons(event)
683
- case event.get_id()
684
- when ID_CHOICE_ENABLE
685
- @m_choice.enable( event.get_int() == 0 )
686
- @m_choiceSorted.enable( event.get_int() == 0 )
687
- when ID_CHOICE_SEL_NUM
688
- @m_choice.set_selection( 2 )
689
- @m_choiceSorted.set_selection( 2 )
690
- when ID_CHOICE_SEL_STR
691
- @m_choice.set_string_selection( "This" )
692
- @m_choiceSorted.set_string_selection( "This" )
693
- when ID_CHOICE_CLEAR
694
- @m_choice.clear()
695
- @m_choiceSorted.clear()
696
- when ID_CHOICE_APPEND
697
- @m_choice.append( "Hi!" )
698
- @m_choiceSorted.append( "Hi!" )
699
- when ID_CHOICE_DELETE
700
- idx = @m_choice.get_selection()
701
- if idx != NOT_FOUND
702
- @m_choice.delete( idx )
703
- end
704
- idx = @m_choiceSorted.get_selection()
705
- if idx != NOT_FOUND
706
- @m_choiceSorted.delete( idx )
707
- end
708
- when ID_CHOICE_FONT
709
- @m_choice.set_font( ITALIC_FONT )
710
- @m_choiceSorted.set_font( ITALIC_FONT )
711
- end
712
- end
713
-
714
- def onCombo(event)
715
- @m_text.append_text( "ComboBox event selection string is: " )
716
- @m_text.append_text( event.get_string() )
717
- @m_text.append_text( "\n" )
718
- @m_text.append_text( "ComboBox control selection string is: " )
719
- @m_text.append_text( @m_combo.get_string_selection() )
720
- @m_text.append_text( "\n" )
721
- end
722
-
723
- def onComboTextChanged(event)
724
- str = sprintf( "Text in the combobox changed: now is '%s'.",
725
- event.get_string())
726
- log_message( str )
727
- end
728
-
729
- def onComboTextEnter(event)
730
- log_message("Enter pressed in the combobox: value is '%s'.",
731
- @m_combo.get_value())
732
- end
733
-
734
- def onComboButtons(event)
735
- case event.get_id()
736
- when ID_COMBO_ENABLE
737
- @m_combo.enable( event.get_int() == 0 )
738
- when ID_COMBO_SEL_NUM
739
- @m_combo.set_selection( 2 )
740
- when ID_COMBO_SEL_STR
741
- @m_combo.set_string_selection( "This" )
742
- when ID_COMBO_CLEAR
743
- @m_combo.clear()
744
- when ID_COMBO_APPEND
745
- @m_combo.append( "Hi!" )
746
- when ID_COMBO_DELETE
747
- idx = @m_combo.get_selection()
748
- @m_combo.delete( idx )
749
- when ID_COMBO_FONT
750
- @m_combo.set_font( ITALIC_FONT )
751
- end
752
- end
753
-
754
- def onRadio(event)
755
- @m_text.append_text( "RadioBox selection string is: " )
756
- @m_text.append_text( event.get_string() )
757
- @m_text.append_text( "\n" )
758
- end
759
-
760
- def onRadioButtons(event)
761
- case event.get_id()
762
- when ID_RADIOBOX_ENABLE
763
- @m_radio.enable( event.get_int() == 0 )
764
- when ID_RADIOBOX_SEL_NUM
765
- @m_radio.set_selection( 2 )
766
- when ID_RADIOBOX_SEL_STR
767
- @m_radio.set_string_selection( "This" )
768
- when ID_RADIOBOX_FONT
769
- @m_radio.set_foreground_colour(GREEN)
770
- @m_radio.set_font( ITALIC_FONT )
771
- end
772
- end
773
-
774
- def onSetFont(event)
775
- @m_fontButton.set_font( ITALIC_FONT )
776
- @m_text.set_font( ITALIC_FONT )
777
- end
778
-
779
- def onupdateLabel(event)
780
- @m_label.set_label(event.get_int() != 0 ? "Very very very very very long text." : "Shorter text.")
781
- end
782
-
783
- def onSliderupdate(event)
784
- @m_gauge.set_value( @m_slider.get_value() )
785
- @m_gaugeVert.set_value( @m_slider.get_value() / 2 )
786
- end
787
-
788
-
789
- def onSpinCtrlText(event)
790
- if @m_spinctrl
791
- s = sprintf( "Spin ctrl text changed: now %d (from event: %s)\n",
792
- @m_spinctrl.get_value(), event.get_string() )
793
- @m_text.append_text(s)
794
- end
795
- end
796
-
797
- def onSpinCtrl(event)
798
- if @m_spinctrl
799
- s = sprintf( "Spin ctrl changed: now %d (from event: %d)\n",
800
- @m_spinctrl.get_value(), event.get_int() )
801
- @m_text.append_text(s)
802
- end
803
- end
804
-
805
- def onSpinCtrlUp(event)
806
- if @m_spinctrl
807
- @m_text.append_text( sprintf(
808
- "Spin up: %d (from event: %d)\n",
809
- @m_spinctrl.get_value(), event.get_int() ) )
810
- end
811
- end
812
-
813
- def onSpinCtrlDown(event)
814
- if @m_spinctrl
815
- @m_text.append_text( sprintf(
816
- "Spin down: %d (from event: %d)\n",
817
- @m_spinctrl.get_value(), event.get_int() ) )
818
- end
819
- end
820
-
821
-
822
- def onSpinUp(event)
823
- value = sprintf( "Spin control up: current = %d\n",
824
- @m_spinbutton.get_value())
825
-
826
- if event.get_position() > 17
827
- value += "Preventing the spin button from going above 17.\n"
828
- event.veto()
829
- end
830
-
831
- @m_text.append_text(value)
832
- end
833
-
834
- def onSpinDown(event)
835
- value = sprintf( "Spin control down: current = %d\n",
836
- @m_spinbutton.get_value())
837
-
838
- if event.get_position() < -17
839
- value += "Preventing the spin button from going below -17.\n"
840
- event.veto()
841
- end
842
-
843
- @m_text.append_text(value)
844
- end
845
-
846
- def onSpinupdate(event)
847
- value = sprintf( "%d", event.get_position() )
848
- @m_spintext.set_value( value )
849
-
850
- value = sprintf( "Spin control range: (%d, %d), current = %d\n",
851
- @m_spinbutton.get_min(), @m_spinbutton.get_max(),
852
- @m_spinbutton.get_value())
853
-
854
- @m_text.append_text(value)
855
- end
856
-
857
- def onupdateShowProgress(event)
858
- event.enable( @m_spinbutton.get_value() > 0 )
859
- end
860
-
861
- def onShowProgress(event)
862
- max = @m_spinbutton.get_value()
863
- if max <= 0
864
- log_error("You must set positive range!")
865
- return nil
866
- end
867
-
868
- cont = false
869
- Wx.ProgressDialog("Progress dialog example",
870
- "An informative message",
871
- max, # range
872
- self, # parent
873
- PD_CAN_ABORT |
874
- PD_AUTO_HIDE |
875
- PD_APP_MODAL |
876
- PD_ELAPSED_TIME |
877
- PD_ESTIMATED_TIME |
878
- PD_REMAINING_TIME) do |dialog|
879
- cont = true
880
- 0.upto(max) {|i|
881
- break if !cont
882
- sleep(1)
883
- if i == max
884
- cont = dialog.update(i, "That's all, folks!")
885
- elsif i == max / 2
886
- cont = dialog.update(i, "Only a half left (very long message)!")
887
- else
888
- cont = dialog.update(i)
889
- end
890
- }
891
- end
892
- if !cont
893
- @m_text << "Progress dialog aborted!\n"
894
- else
895
- @m_text << "Countdown from " << max << " finished.\n"
896
- end
897
- end
898
-
899
- def onSizerCheck(event)
900
- case event.get_id()
901
- when ID_SIZER_CHECK1
902
- @m_buttonSizer.show(@m_sizerBtn1, event.is_checked())
903
- @m_buttonSizer.layout()
904
- when ID_SIZER_CHECK2
905
- @m_buttonSizer.show(@m_sizerBtn2, event.is_checked())
906
- @m_buttonSizer.layout()
907
- when ID_SIZER_CHECK3
908
- @m_buttonSizer.show(@m_sizerBtn3, event.is_checked())
909
- @m_buttonSizer.layout()
910
- when ID_SIZER_CHECK4
911
- @m_buttonSizer.show(@m_sizerBtn4, event.is_checked())
912
- @m_buttonSizer.layout()
913
- when ID_SIZER_CHECK14
914
- @m_hsizer.show(@m_buttonSizer, event.is_checked())
915
- @m_hsizer.layout()
916
- when ID_SIZER_CHECKBIG
917
- @m_hsizer.show(@m_bigBtn, event.is_checked())
918
- @m_hsizer.layout()
919
- end
920
- end
921
- end
922
-
923
-
924
- class MyFrame < Frame
925
- def initialize(title,x,y)
926
- super(nil, -1, title, Point.new(x, y), Size.new(600, 500))
927
-
928
- @s_delay = 5000
929
- @s_enabled = true
930
- @s_enable2 = true
931
- @s_windowFocus = nil
932
- mondrian_icon =
933
- case Wx::PLATFORM
934
- when "WXMSW"
935
- Icon.new( File.join( File.dirname(__FILE__), "mondrian.ico"),
936
- Wx::BITMAP_TYPE_ICO )
937
- else
938
- Icon.new( File.join( File.dirname(__FILE__), "mondrian.xpm"),
939
- Wx::BITMAP_TYPE_XPM )
940
- end
941
-
942
- set_icon(mondrian_icon)
943
-
944
- file_menu = Menu.new
945
-
946
- file_menu.append(CONTROLS_CLEAR_LOG, "&clear log\tCtrl-L")
947
- file_menu.append_separator()
948
- file_menu.append(CONTROLS_ABOUT, "&About\tF1")
949
- file_menu.append_separator()
950
- file_menu.append(CONTROLS_QUIT, "E&xit\tAlt-X", "Quit controls sample")
951
-
952
- menu_bar = MenuBar.new
953
- menu_bar.append(file_menu, "&File")
954
-
955
- tooltip_menu = Menu.new
956
- tooltip_menu.append(CONTROLS_SET_TOOLTIP_DELAY, "Set &delay\tCtrl-D")
957
- tooltip_menu.append_separator()
958
- tooltip_menu.append(CONTROLS_ENABLE_TOOLTIPS, "&Toggle tooltips\tCtrl-T",
959
- "enable/disable tooltips", ITEM_CHECK)
960
- tooltip_menu.check(CONTROLS_ENABLE_TOOLTIPS, true)
961
- menu_bar.append(tooltip_menu, "&Tooltips")
962
-
963
- panel_menu = Menu.new
964
- panel_menu.append(CONTROLS_ENABLE_ALL, "&Disable all\tCtrl-E",
965
- "enable/disable all panel controls", ITEM_CHECK)
966
- menu_bar.append(panel_menu, "&Panel")
967
-
968
- set_menu_bar(menu_bar)
969
-
970
- create_status_bar(2)
971
-
972
- @m_panel = MyPanel.new( self, 10, 10, 300, 100 )
973
-
974
- set_size_hints( 500, 425 )
975
-
976
- evt_menu(CONTROLS_QUIT) {|event| onQuit(event) }
977
- evt_menu(CONTROLS_ABOUT) {|event| onAbout(event) }
978
- evt_menu(CONTROLS_CLEAR_LOG) {|event| onClearLog(event) }
979
- evt_menu(CONTROLS_SET_TOOLTIP_DELAY) {|event| onSetTooltipDelay(event) }
980
- evt_menu(CONTROLS_ENABLE_TOOLTIPS) {|event| onToggleTooltips(event) }
981
- evt_menu(CONTROLS_ENABLE_ALL) {|event| onenableAll(event) }
982
-
983
- evt_size() {|event| onSize(event) }
984
- evt_move() {|event| onMove(event) }
985
- evt_idle() {|event| onIdle(event) }
986
- evt_close() {|event| onClose(event) }
987
- end
988
-
989
- def onClose(event)
990
- Log::set_active_target(@m_panel.m_logTargetOld)
991
- destroy()
992
- end
993
-
994
- def onQuit(event)
995
- close(true)
996
- end
997
-
998
- def onAbout(event)
999
- BusyCursor.busy do
1000
- Wx.MessageDialog(self, "This is a control sample", "About Controls", OK) { |dlg| dlg.show_modal }
1001
- end
1002
- end
1003
-
1004
- def onClearLog(event)
1005
- @m_panel.m_text.clear()
1006
- end
1007
-
1008
- def onSetTooltipDelay(event)
1009
- delay = @s_delay.to_s
1010
-
1011
- delay = get_text_from_user("Enter delay (in milliseconds)",
1012
- "Set tooltip delay",
1013
- delay,
1014
- self)
1015
- if !delay
1016
- return Qnil # cancelled
1017
- end
1018
-
1019
- @s_delay = delay.to_i
1020
-
1021
- ToolTip::set_delay(@s_delay)
1022
-
1023
- log_status(self, "Tooltip delay set to %d milliseconds", @s_delay)
1024
- end
1025
-
1026
- def onToggleTooltips(event)
1027
- @s_enabled = ! @s_enabled
1028
- ToolTip::enable(@s_enabled)
1029
- log_status(self, "Tooltips %sabled", @s_enabled ? "en" : "dis" )
1030
- end
1031
-
1032
- def onenableAll(event)
1033
- @s_enable2 = ! @s_enable2
1034
- @m_panel.enable(@s_enable2)
1035
- end
1036
-
1037
- def onMove(event)
1038
- update_status_bar(event.get_position(), get_size())
1039
- event.skip()
1040
- end
1041
-
1042
- def onSize(event)
1043
- update_status_bar(get_position(), event.get_size())
1044
- event.skip()
1045
- end
1046
-
1047
- def onIdle(event)
1048
- # track the window which has the focus in the status bar
1049
- focus = Window::find_focus()
1050
- if focus && (focus != @s_windowFocus)
1051
- @s_windowFocus = focus
1052
- msg = sprintf( "Focus: %s @ %d",
1053
- @s_windowFocus.wx_class,
1054
- @s_windowFocus.object_id )
1055
- set_status_text(msg)
1056
- end
1057
- end
1058
-
1059
- def GetPanel()
1060
- @m_panel
1061
- end
1062
-
1063
- def update_status_bar(pos,size)
1064
- if get_status_bar()
1065
- sizeAll = get_size()
1066
- sizeCl = get_client_size()
1067
- msg = sprintf("pos=(%d, %d), size=%dx%d or %dx%d (client=%dx%d)",
1068
- pos.x, pos.y,
1069
- size.width, size.height,
1070
- sizeAll.width, sizeAll.height,
1071
- sizeCl.width, sizeCl.height)
1072
- set_status_text(msg, 1)
1073
- end
1074
- end
1075
-
1076
- end
1077
-
1078
- module ControlsSample
1079
-
1080
- include WxRuby::Sample if defined? WxRuby::Sample
1081
-
1082
- def self.describe
1083
- { file: __FILE__,
1084
- summary: 'wxRuby controls example.',
1085
- description: 'wxRuby example demonstrating various common controls.' }
1086
- end
1087
-
1088
- def self.activate
1089
- # Create the main frame window
1090
- frame = MyFrame.new("Controls Windows App", 50, 50)
1091
- frame.show(true)
1092
- frame
1093
- end
1094
-
1095
- if $0 == __FILE__
1096
- Wx::App.run { !!ControlsSample.activate }
1097
- end
1098
-
1099
- end