wxruby3 0.9.4-x64-mingw-ucrt → 0.9.7-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (390) hide show
  1. checksums.yaml +4 -4
  2. data/.wxconfig +9 -8
  3. data/INSTALL.md +315 -78
  4. data/README.md +32 -21
  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/core/combo_ctrl.rb +171 -0
  21. data/lib/wx/core/ext.rb +22 -3
  22. data/lib/wx/doc/comboctrl.rb +128 -3
  23. data/lib/wx/doc/gen/about_dialog_info.rb +1 -1
  24. data/lib/wx/doc/gen/accelerator.rb +1 -1
  25. data/lib/wx/doc/gen/accessible.rb +1 -1
  26. data/lib/wx/doc/gen/activity_indicator.rb +1 -1
  27. data/lib/wx/doc/gen/animation.rb +1 -1
  28. data/lib/wx/doc/gen/animation_ctrl.rb +1 -1
  29. data/lib/wx/doc/gen/any_button.rb +1 -1
  30. data/lib/wx/doc/gen/app.rb +1 -1
  31. data/lib/wx/doc/gen/app_traits.rb +3 -55
  32. data/lib/wx/doc/gen/art_provider.rb +1 -3
  33. data/lib/wx/doc/gen/aui/aui_dock_art.rb +430 -426
  34. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +34 -30
  35. data/lib/wx/doc/gen/aui/aui_manager.rb +352 -349
  36. data/lib/wx/doc/gen/aui/aui_manager_event.rb +107 -103
  37. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +157 -153
  38. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +42 -37
  39. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +109 -105
  40. data/lib/wx/doc/gen/aui/aui_notebook.rb +438 -434
  41. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +145 -141
  42. data/lib/wx/doc/gen/aui/aui_pane_info.rb +689 -685
  43. data/lib/wx/doc/gen/aui/aui_tab_art.rb +369 -365
  44. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +100 -96
  45. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +445 -441
  46. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +268 -264
  47. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +179 -175
  48. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +219 -215
  49. data/lib/wx/doc/gen/banner_window.rb +1 -1
  50. data/lib/wx/doc/gen/bitmap.rb +1 -1
  51. data/lib/wx/doc/gen/bitmap_button.rb +1 -1
  52. data/lib/wx/doc/gen/bitmap_combo_box.rb +1 -1
  53. data/lib/wx/doc/gen/book_ctrl_base.rb +1 -1
  54. data/lib/wx/doc/gen/book_ctrl_event.rb +1 -1
  55. data/lib/wx/doc/gen/box_sizer.rb +1 -1
  56. data/lib/wx/doc/gen/brush.rb +1 -1
  57. data/lib/wx/doc/gen/busy_info.rb +1 -1
  58. data/lib/wx/doc/gen/button.rb +1 -1
  59. data/lib/wx/doc/gen/calculate_layout_event.rb +1 -1
  60. data/lib/wx/doc/gen/calendar_ctrl.rb +1 -1
  61. data/lib/wx/doc/gen/calendar_date_attr.rb +1 -1
  62. data/lib/wx/doc/gen/calendar_event.rb +1 -1
  63. data/lib/wx/doc/gen/caret.rb +1 -1
  64. data/lib/wx/doc/gen/check_box.rb +1 -1
  65. data/lib/wx/doc/gen/check_list_box.rb +1 -1
  66. data/lib/wx/doc/gen/choice.rb +1 -1
  67. data/lib/wx/doc/gen/choicebook.rb +1 -1
  68. data/lib/wx/doc/gen/client_dc.rb +1 -1
  69. data/lib/wx/doc/gen/clipboard.rb +1 -1
  70. data/lib/wx/doc/gen/collapsible_pane.rb +1 -1
  71. data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -1
  72. data/lib/wx/doc/gen/colour.rb +1 -2
  73. data/lib/wx/doc/gen/colour_dialog.rb +2 -2
  74. data/lib/wx/doc/gen/colour_picker_ctrl.rb +1 -1
  75. data/lib/wx/doc/gen/colour_picker_event.rb +1 -1
  76. data/lib/wx/doc/gen/combo_box.rb +4 -3
  77. data/lib/wx/doc/gen/combo_ctrl.rb +92 -228
  78. data/lib/wx/doc/gen/command_link_button.rb +1 -1
  79. data/lib/wx/doc/gen/config_base.rb +1 -1
  80. data/lib/wx/doc/gen/context_help_button.rb +1 -1
  81. data/lib/wx/doc/gen/control.rb +1 -1
  82. data/lib/wx/doc/gen/control_with_items.rb +1 -1
  83. data/lib/wx/doc/gen/core.rb +5 -5
  84. data/lib/wx/doc/gen/cursor.rb +1 -1
  85. data/lib/wx/doc/gen/data_format.rb +1 -1
  86. data/lib/wx/doc/gen/data_object.rb +1 -1
  87. data/lib/wx/doc/gen/data_object_simple_base.rb +1 -1
  88. data/lib/wx/doc/gen/date_event.rb +1 -1
  89. data/lib/wx/doc/gen/date_picker_ctrl.rb +1 -1
  90. data/lib/wx/doc/gen/dc.rb +1 -4
  91. data/lib/wx/doc/gen/defs.rb +1 -1
  92. data/lib/wx/doc/gen/dial_up_event.rb +1 -1
  93. data/lib/wx/doc/gen/dial_up_manager.rb +1 -1
  94. data/lib/wx/doc/gen/dialog.rb +1 -2
  95. data/lib/wx/doc/gen/dir_dialog.rb +1 -1
  96. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -1
  97. data/lib/wx/doc/gen/dir_picker_ctrl.rb +1 -1
  98. data/lib/wx/doc/gen/drag_drop.rb +1 -1
  99. data/lib/wx/doc/gen/drag_image.rb +1 -1
  100. data/lib/wx/doc/gen/editable_list_box.rb +1 -1
  101. data/lib/wx/doc/gen/event.rb +1 -1
  102. data/lib/wx/doc/gen/event_blocker.rb +1 -1
  103. data/lib/wx/doc/gen/event_filter.rb +1 -1
  104. data/lib/wx/doc/gen/events.rb +3 -25
  105. data/lib/wx/doc/gen/evt_handler.rb +1 -1
  106. data/lib/wx/doc/gen/ext_help_controller.rb +1 -1
  107. data/lib/wx/doc/gen/file_ctrl.rb +1 -1
  108. data/lib/wx/doc/gen/file_ctrl_event.rb +1 -1
  109. data/lib/wx/doc/gen/file_dialog.rb +1 -3
  110. data/lib/wx/doc/gen/file_dialog_custom_control.rb +1 -1
  111. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +54 -62
  112. data/lib/wx/doc/gen/file_dir_picker_event.rb +1 -1
  113. data/lib/wx/doc/gen/file_picker_ctrl.rb +1 -1
  114. data/lib/wx/doc/gen/file_system.rb +2 -59
  115. data/lib/wx/doc/gen/find_dialog_event.rb +1 -1
  116. data/lib/wx/doc/gen/find_replace_data.rb +1 -1
  117. data/lib/wx/doc/gen/find_replace_dialog.rb +1 -1
  118. data/lib/wx/doc/gen/flex_grid_sizer.rb +1 -1
  119. data/lib/wx/doc/gen/font.rb +1 -1
  120. data/lib/wx/doc/gen/font_data.rb +1 -1
  121. data/lib/wx/doc/gen/font_dialog.rb +1 -1
  122. data/lib/wx/doc/gen/font_picker_ctrl.rb +1 -1
  123. data/lib/wx/doc/gen/font_picker_event.rb +1 -1
  124. data/lib/wx/doc/gen/frame.rb +1 -2
  125. data/lib/wx/doc/gen/fs_file.rb +1 -1
  126. data/lib/wx/doc/gen/functions.rb +1 -1
  127. data/lib/wx/doc/gen/gauge.rb +1 -1
  128. data/lib/wx/doc/gen/gb_sizer_item.rb +1 -1
  129. data/lib/wx/doc/gen/gcdc.rb +1 -1
  130. data/lib/wx/doc/gen/gdi_common.rb +3 -3
  131. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  132. data/lib/wx/doc/gen/generic_dir_ctrl.rb +1 -1
  133. data/lib/wx/doc/gen/graphics_context.rb +1 -1
  134. data/lib/wx/doc/gen/graphics_object.rb +1 -1
  135. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +28 -24
  136. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +251 -247
  137. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +25 -21
  138. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +27 -23
  139. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +38 -34
  140. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +25 -21
  141. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +35 -31
  142. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +28 -24
  143. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +34 -30
  144. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +30 -26
  145. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +183 -179
  146. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +29 -25
  147. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +33 -29
  148. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +34 -30
  149. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +67 -63
  150. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +34 -30
  151. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +25 -21
  152. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +93 -89
  153. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +25 -21
  154. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +38 -34
  155. data/lib/wx/doc/gen/grid/grid_ctrl.rb +2716 -2724
  156. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +82 -78
  157. data/lib/wx/doc/gen/grid/grid_event.rb +106 -102
  158. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +93 -89
  159. data/lib/wx/doc/gen/grid/grid_size_event.rb +70 -66
  160. data/lib/wx/doc/gen/grid/grid_string_table.rb +130 -126
  161. data/lib/wx/doc/gen/grid/grid_table_base.rb +303 -299
  162. data/lib/wx/doc/gen/grid/grid_table_message.rb +70 -66
  163. data/lib/wx/doc/gen/grid_bag_sizer.rb +1 -1
  164. data/lib/wx/doc/gen/grid_sizer.rb +1 -1
  165. data/lib/wx/doc/gen/gui_event_loop.rb +1 -1
  166. data/lib/wx/doc/gen/header_ctrl.rb +1 -2
  167. data/lib/wx/doc/gen/header_ctrl_event.rb +1 -1
  168. data/lib/wx/doc/gen/help_controller.rb +1 -1
  169. data/lib/wx/doc/gen/help_provider.rb +1 -1
  170. data/lib/wx/doc/gen/html/html_cell.rb +515 -511
  171. data/lib/wx/doc/gen/html/html_cell_event.rb +58 -54
  172. data/lib/wx/doc/gen/html/html_easy_printing.rb +171 -167
  173. data/lib/wx/doc/gen/html/html_help_controller.rb +292 -288
  174. data/lib/wx/doc/gen/html/html_help_data.rb +147 -143
  175. data/lib/wx/doc/gen/html/html_help_window.rb +232 -228
  176. data/lib/wx/doc/gen/html/html_link_event.rb +30 -26
  177. data/lib/wx/doc/gen/html/html_list_box.rb +301 -297
  178. data/lib/wx/doc/gen/html/html_printout.rb +94 -90
  179. data/lib/wx/doc/gen/html/html_window.rb +406 -402
  180. data/lib/wx/doc/gen/hyperlink_ctrl.rb +1 -1
  181. data/lib/wx/doc/gen/hyperlink_event.rb +1 -1
  182. data/lib/wx/doc/gen/icon.rb +1 -1
  183. data/lib/wx/doc/gen/icon_location.rb +1 -1
  184. data/lib/wx/doc/gen/image.rb +1 -3
  185. data/lib/wx/doc/gen/image_list.rb +1 -1
  186. data/lib/wx/doc/gen/info_bar.rb +1 -1
  187. data/lib/wx/doc/gen/keyboard_state.rb +1 -1
  188. data/lib/wx/doc/gen/list_box.rb +1 -1
  189. data/lib/wx/doc/gen/list_ctrl.rb +1 -2
  190. data/lib/wx/doc/gen/list_event.rb +1 -1
  191. data/lib/wx/doc/gen/listbook.rb +1 -1
  192. data/lib/wx/doc/gen/locale.rb +1 -1
  193. data/lib/wx/doc/gen/log.rb +1 -1
  194. data/lib/wx/doc/gen/mdi_client_window.rb +1 -1
  195. data/lib/wx/doc/gen/mdi_frame.rb +1 -1
  196. data/lib/wx/doc/gen/media_ctrl.rb +1 -7
  197. data/lib/wx/doc/gen/media_event.rb +1 -1
  198. data/lib/wx/doc/gen/memory_dc.rb +1 -1
  199. data/lib/wx/doc/gen/menu.rb +1 -3
  200. data/lib/wx/doc/gen/menu_bar.rb +1 -1
  201. data/lib/wx/doc/gen/menu_item.rb +1 -1
  202. data/lib/wx/doc/gen/message_dialog.rb +1 -1
  203. data/lib/wx/doc/gen/mini_frame.rb +1 -1
  204. data/lib/wx/doc/gen/mirror_dc.rb +1 -1
  205. data/lib/wx/doc/gen/mouse_state.rb +1 -1
  206. data/lib/wx/doc/gen/multi_choice_dialog.rb +1 -1
  207. data/lib/wx/doc/gen/non_owned_window.rb +1 -1
  208. data/lib/wx/doc/gen/notebook.rb +1 -2
  209. data/lib/wx/doc/gen/num_validator.rb +1 -1
  210. data/lib/wx/doc/gen/number_entry_dialog.rb +1 -1
  211. data/lib/wx/doc/gen/object.rb +1 -1
  212. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +1 -1
  213. data/lib/wx/doc/gen/paint_dc.rb +1 -1
  214. data/lib/wx/doc/gen/palette.rb +1 -1
  215. data/lib/wx/doc/gen/panel.rb +1 -1
  216. data/lib/wx/doc/gen/pen.rb +1 -1
  217. data/lib/wx/doc/gen/persistence_manager.rb +1 -1
  218. data/lib/wx/doc/gen/persistent_object.rb +1 -1
  219. data/lib/wx/doc/gen/persistent_window.rb +1 -1
  220. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +33 -29
  221. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +299 -295
  222. data/lib/wx/doc/gen/pg/pg_cell.rb +162 -158
  223. data/lib/wx/doc/gen/pg/pg_editor.rb +693 -689
  224. data/lib/wx/doc/gen/pg/pg_multi_button.rb +133 -129
  225. data/lib/wx/doc/gen/pg/pg_properties.rb +2662 -2658
  226. data/lib/wx/doc/gen/pg/pg_property.rb +1929 -1938
  227. data/lib/wx/doc/gen/pg/pg_validation_info.rb +275 -273
  228. data/lib/wx/doc/gen/pg/property_grid.rb +708 -706
  229. data/lib/wx/doc/gen/pg/property_grid_event.rb +168 -164
  230. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1071 -1067
  231. data/lib/wx/doc/gen/pg/property_grid_manager.rb +386 -384
  232. data/lib/wx/doc/gen/pg/property_grid_page.rb +267 -265
  233. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +147 -144
  234. data/lib/wx/doc/gen/picker_base.rb +1 -1
  235. data/lib/wx/doc/gen/platform_info.rb +1 -1
  236. data/lib/wx/doc/gen/popup_window.rb +1 -1
  237. data/lib/wx/doc/gen/progress_dialog.rb +1 -1
  238. data/lib/wx/doc/gen/property_sheet_dialog.rb +1 -1
  239. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +32 -28
  240. data/lib/wx/doc/gen/prt/post_script_dc.rb +21 -18
  241. data/lib/wx/doc/gen/prt/preview_frame.rb +49 -45
  242. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +126 -122
  243. data/lib/wx/doc/gen/prt/print_data.rb +637 -633
  244. data/lib/wx/doc/gen/prt/print_dialog.rb +43 -39
  245. data/lib/wx/doc/gen/prt/printer.rb +484 -480
  246. data/lib/wx/doc/gen/prt/printer_dc.rb +26 -22
  247. data/lib/wx/doc/gen/query_layout_info_event.rb +1 -1
  248. data/lib/wx/doc/gen/radio_box.rb +1 -1
  249. data/lib/wx/doc/gen/radio_button.rb +1 -1
  250. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1716 -1712
  251. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +239 -235
  252. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +34 -30
  253. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +439 -435
  254. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +52 -48
  255. data/lib/wx/doc/gen/rbn/ribbon_control.rb +116 -112
  256. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +205 -201
  257. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +44 -40
  258. data/lib/wx/doc/gen/rbn/ribbon_page.rb +129 -125
  259. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +229 -225
  260. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +34 -30
  261. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +329 -325
  262. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +31 -27
  263. data/lib/wx/doc/gen/rearrange_ctrl.rb +1 -1
  264. data/lib/wx/doc/gen/rearrange_list.rb +1 -1
  265. data/lib/wx/doc/gen/region.rb +1 -1
  266. data/lib/wx/doc/gen/region_iterator.rb +1 -1
  267. data/lib/wx/doc/gen/rtc/rich_text_box.rb +424 -420
  268. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1148 -1144
  269. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +30 -26
  270. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +516 -512
  271. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +1991 -1987
  272. data/lib/wx/doc/gen/rtc/rich_text_event.rb +159 -155
  273. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +167 -163
  274. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +271 -267
  275. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +171 -167
  276. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +88 -85
  277. data/lib/wx/doc/gen/rtc/rich_text_image.rb +323 -319
  278. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2819 -2815
  279. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1187 -1183
  280. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +242 -238
  281. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +286 -279
  282. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +181 -177
  283. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +47 -44
  284. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +145 -141
  285. data/lib/wx/doc/gen/sash_event.rb +1 -1
  286. data/lib/wx/doc/gen/sash_layout_window.rb +1 -1
  287. data/lib/wx/doc/gen/sash_window.rb +1 -1
  288. data/lib/wx/doc/gen/scaled_dc.rb +1 -1
  289. data/lib/wx/doc/gen/screen_dc.rb +1 -1
  290. data/lib/wx/doc/gen/scroll_bar.rb +1 -2
  291. data/lib/wx/doc/gen/scrolled_canvas.rb +1 -1
  292. data/lib/wx/doc/gen/scrolled_control.rb +1 -1
  293. data/lib/wx/doc/gen/scrolled_window.rb +1 -1
  294. data/lib/wx/doc/gen/search_ctrl.rb +1 -1
  295. data/lib/wx/doc/gen/simplebook.rb +1 -1
  296. data/lib/wx/doc/gen/single_choice_dialog.rb +1 -1
  297. data/lib/wx/doc/gen/sizer.rb +1 -2
  298. data/lib/wx/doc/gen/sizer_item.rb +1 -1
  299. data/lib/wx/doc/gen/slider.rb +1 -2
  300. data/lib/wx/doc/gen/spin_button.rb +1 -1
  301. data/lib/wx/doc/gen/spin_ctrl.rb +1 -1
  302. data/lib/wx/doc/gen/spin_ctrl_double.rb +1 -1
  303. data/lib/wx/doc/gen/spin_double_event.rb +1 -1
  304. data/lib/wx/doc/gen/spin_event.rb +1 -1
  305. data/lib/wx/doc/gen/splash_screen.rb +2 -2
  306. data/lib/wx/doc/gen/splitter_event.rb +1 -1
  307. data/lib/wx/doc/gen/splitter_window.rb +1 -1
  308. data/lib/wx/doc/gen/static_bitmap.rb +1 -1
  309. data/lib/wx/doc/gen/static_box.rb +1 -1
  310. data/lib/wx/doc/gen/static_box_sizer.rb +1 -1
  311. data/lib/wx/doc/gen/static_line.rb +1 -1
  312. data/lib/wx/doc/gen/static_text.rb +1 -1
  313. data/lib/wx/doc/gen/status_bar.rb +1 -1
  314. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4202 -4199
  315. data/lib/wx/doc/gen/stc/styled_text_event.rb +7511 -7508
  316. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +1 -1
  317. data/lib/wx/doc/gen/svg_file_dc.rb +1 -1
  318. data/lib/wx/doc/gen/system_options.rb +1 -1
  319. data/lib/wx/doc/gen/system_settings.rb +1 -1
  320. data/lib/wx/doc/gen/task_bar_button.rb +1 -1
  321. data/lib/wx/doc/gen/task_bar_icon.rb +1 -2
  322. data/lib/wx/doc/gen/task_bar_icon_event.rb +1 -1
  323. data/lib/wx/doc/gen/text_attr.rb +1 -1
  324. data/lib/wx/doc/gen/text_ctrl.rb +1 -6
  325. data/lib/wx/doc/gen/text_entry.rb +1 -1
  326. data/lib/wx/doc/gen/text_entry_dialog.rb +1 -1
  327. data/lib/wx/doc/gen/text_validator.rb +1 -1
  328. data/lib/wx/doc/gen/time_picker_ctrl.rb +1 -1
  329. data/lib/wx/doc/gen/timer.rb +1 -1
  330. data/lib/wx/doc/gen/timer_event.rb +1 -1
  331. data/lib/wx/doc/gen/tip_provider.rb +1 -1
  332. data/lib/wx/doc/gen/toggle_button.rb +1 -1
  333. data/lib/wx/doc/gen/tool_bar.rb +1 -1
  334. data/lib/wx/doc/gen/tool_tip.rb +1 -1
  335. data/lib/wx/doc/gen/toolbook.rb +1 -1
  336. data/lib/wx/doc/gen/top_level_window.rb +1 -1
  337. data/lib/wx/doc/gen/tree_ctrl.rb +1 -3
  338. data/lib/wx/doc/gen/tree_event.rb +1 -1
  339. data/lib/wx/doc/gen/treebook.rb +1 -1
  340. data/lib/wx/doc/gen/ui_action_simulator.rb +1 -1
  341. data/lib/wx/doc/gen/utils.rb +1 -1
  342. data/lib/wx/doc/gen/v_list_box.rb +1 -1
  343. data/lib/wx/doc/gen/v_scrolled_window.rb +1 -2
  344. data/lib/wx/doc/gen/validator.rb +1 -1
  345. data/lib/wx/doc/gen/variant.rb +1 -1
  346. data/lib/wx/doc/gen/window.rb +1 -1
  347. data/lib/wx/doc/gen/window_dc.rb +1 -1
  348. data/lib/wx/doc/gen/window_disabler.rb +1 -1
  349. data/lib/wx/doc/gen/with_images.rb +1 -1
  350. data/lib/wx/doc/gen/wizard.rb +1 -2
  351. data/lib/wx/doc/gen/wizard_event.rb +1 -1
  352. data/lib/wx/doc/gen/wizard_page.rb +1 -2
  353. data/lib/wx/doc/gen/wizard_page_simple.rb +1 -1
  354. data/lib/wx/doc/gen/wrap_sizer.rb +1 -1
  355. data/lib/wx/doc/gen/xml_node.rb +1 -1
  356. data/lib/wx/doc/gen/xml_resource.rb +1 -1
  357. data/lib/wx/doc/owner_drawn_combobox.rb +5 -1
  358. data/lib/wx/rtc/ext/rich_text_ctrl.rb +5 -5
  359. data/lib/wx/version.rb +1 -1
  360. data/lib/wx/wxruby/base.rb +6 -4
  361. data/lib/wx/wxruby/cmd/sampler.rb +39 -29
  362. data/lib/wx/wxruby/cmd/setup.rb +122 -0
  363. data/lib/wx/wxruby/cmd/test.rb +56 -6
  364. data/lib/wxruby_aui.so +0 -0
  365. data/lib/wxruby_core.so +0 -0
  366. data/lib/wxruby_grid.so +0 -0
  367. data/lib/wxruby_html.so +0 -0
  368. data/lib/wxruby_pg.so +0 -0
  369. data/lib/wxruby_prt.so +0 -0
  370. data/lib/wxruby_rbn.so +0 -0
  371. data/lib/wxruby_rtc.so +0 -0
  372. data/lib/wxruby_stc.so +0 -0
  373. data/rakelib/install.rb +2 -0
  374. data/rakelib/lib/config/linux.rb +24 -2
  375. data/rakelib/lib/config/macosx.rb +16 -0
  376. data/rakelib/lib/config/mingw.rb +133 -9
  377. data/rakelib/lib/config/pkgman/arch.rb +53 -0
  378. data/rakelib/lib/config/pkgman/base.rb +169 -0
  379. data/rakelib/lib/config/pkgman/debian.rb +66 -0
  380. data/rakelib/lib/config/pkgman/macosx.rb +183 -0
  381. data/rakelib/lib/config/pkgman/rhel.rb +54 -0
  382. data/rakelib/lib/config/pkgman/suse.rb +54 -0
  383. data/rakelib/lib/config/unixish.rb +36 -19
  384. data/rakelib/lib/config.rb +254 -61
  385. data/rakelib/prepost.rake +9 -4
  386. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +14 -0
  387. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +5 -5
  388. data/rakelib/yard/yard/relative_markdown_links.rb +7 -1
  389. data/tests/test_combo_ctrl.rb +196 -0
  390. metadata +25 -4
@@ -6,2130 +6,2121 @@
6
6
 
7
7
  module Wx::PG
8
8
 
9
- #
10
- PG_LABEL_STRING = "@!"
11
-
12
- #
13
- PG_INVALID_VALUE = 2147483647
14
-
15
- #
16
- PG_BASE_OCT = 8
17
-
18
- #
19
- PG_BASE_DEC = 10
20
-
21
- #
22
- PG_BASE_HEX = 16
23
-
24
- #
25
- PG_BASE_HEXL = 32
26
-
27
- #
28
- PG_PREFIX_NONE = 0
29
-
30
- #
31
- PG_PREFIX_DOLLAR_SIGN = 2
32
-
33
- #
34
- #
35
- #
36
- #
37
- # @wxrb_require USE_PROPGRID
38
- class PG_GETPROPERTYVALUES_FLAGS < Wx::Enum
39
-
40
- # Flag for {Wx::PG::PropertyGridInterface::SetProperty}* functions, {Wx::PG::PropertyGridInterface#hide_property}, etc.
41
- #
42
- PG_DONT_RECURSE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(0)
43
-
44
- # Flag for {Wx::PG::PropertyGridInterface#get_property_values}.
45
- #
46
- PG_KEEP_STRUCTURE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(16)
47
-
48
- # Flag for {Wx::PG::PropertyGridInterface::SetProperty}* functions, {Wx::PG::PropertyGridInterface#hide_property}, etc.
9
+ module Wx::PG
10
+
49
11
  #
50
- PG_RECURSE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(32)
12
+ PG_LABEL_STRING = "@!"
51
13
 
52
- # Flag for {Wx::PG::PropertyGridInterface#get_property_values}.
53
14
  #
54
- PG_INC_ATTRIBUTES = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(64)
15
+ PG_INVALID_VALUE = 2147483647
55
16
 
56
- # Used when first starting recursion.
57
17
  #
58
- PG_RECURSE_STARTS = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(128)
18
+ PG_BASE_OCT = 8
59
19
 
60
- # Force value change.
61
20
  #
62
- PG_FORCE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(256)
21
+ PG_BASE_DEC = 10
63
22
 
64
- # Only sort categories and their immediate children.
65
23
  #
66
- PG_SORT_TOP_LEVEL_ONLY = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(512)
67
-
68
- end # PG_GETPROPERTYVALUES_FLAGS
69
-
70
- # Misc argument flags.
71
- #
72
- #
73
- #
74
- # @wxrb_require USE_PROPGRID
75
- class PG_MISC_ARG_FLAGS < Wx::Enum
76
-
77
- # Get/Store full value instead of displayed value.
78
- #
79
- PG_FULL_VALUE = Wx::PG::PG_MISC_ARG_FLAGS.new(1)
24
+ PG_BASE_HEX = 16
80
25
 
81
- # Perform special action in case of unsuccessful conversion.
82
26
  #
83
- PG_REPORT_ERROR = Wx::PG::PG_MISC_ARG_FLAGS.new(2)
27
+ PG_BASE_HEXL = 32
84
28
 
85
29
  #
86
- #
87
- PG_PROPERTY_SPECIFIC = Wx::PG::PG_MISC_ARG_FLAGS.new(4)
30
+ PG_PREFIX_NONE = 0
88
31
 
89
- # Get/Store editable value instead of displayed one (should only be different in the case of common values).
90
32
  #
91
- PG_EDITABLE_VALUE = Wx::PG::PG_MISC_ARG_FLAGS.new(8)
33
+ PG_PREFIX_DOLLAR_SIGN = 2
92
34
 
93
- # Used when dealing with fragments of composite string value.
94
35
  #
95
- PG_COMPOSITE_FRAGMENT = Wx::PG::PG_MISC_ARG_FLAGS.new(16)
96
-
97
- # Means property for which final string value is for cannot really be edited.
98
36
  #
99
- PG_UNEDITABLE_COMPOSITE_FRAGMENT = Wx::PG::PG_MISC_ARG_FLAGS.new(32)
100
-
101
- # {Wx::PG::PGProperty#value_to_string} called from {Wx::PG::PGProperty#get_value_as_string} (guarantees that input {Wx::Variant} value is current own value)
102
37
  #
103
- PG_VALUE_IS_CURRENT = Wx::PG::PG_MISC_ARG_FLAGS.new(64)
104
-
105
- # Value is being set programmatically (i.e.
106
38
  #
107
- PG_PROGRAMMATIC_VALUE = Wx::PG::PG_MISC_ARG_FLAGS.new(128)
39
+ # @wxrb_require USE_PROPGRID
40
+ class PG_GETPROPERTYVALUES_FLAGS < Wx::Enum
108
41
 
109
- end # PG_MISC_ARG_FLAGS
110
-
111
- # {Wx::PG::PGProperty#set_value} flags
112
- #
113
- #
114
- #
115
- # @wxrb_require USE_PROPGRID
116
- class PG_SETVALUE_FLAGS < Wx::Enum
117
-
118
- #
119
- #
120
- PG_SETVAL_REFRESH_EDITOR = Wx::PG::PG_SETVALUE_FLAGS.new(1)
42
+ # Flag for {Wx::PG::PropertyGridInterface::SetProperty}* functions, {Wx::PG::PropertyGridInterface#hide_property}, etc.
43
+ #
44
+ PG_DONT_RECURSE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(0)
45
+
46
+ # Flag for {Wx::PG::PropertyGridInterface#get_property_values}.
47
+ #
48
+ PG_KEEP_STRUCTURE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(16)
49
+
50
+ # Flag for {Wx::PG::PropertyGridInterface::SetProperty}* functions, {Wx::PG::PropertyGridInterface#hide_property}, etc.
51
+ #
52
+ PG_RECURSE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(32)
53
+
54
+ # Flag for {Wx::PG::PropertyGridInterface#get_property_values}.
55
+ #
56
+ PG_INC_ATTRIBUTES = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(64)
57
+
58
+ # Used when first starting recursion.
59
+ #
60
+ PG_RECURSE_STARTS = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(128)
61
+
62
+ # Force value change.
63
+ #
64
+ PG_FORCE = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(256)
65
+
66
+ # Only sort categories and their immediate children.
67
+ #
68
+ PG_SORT_TOP_LEVEL_ONLY = Wx::PG::PG_GETPROPERTYVALUES_FLAGS.new(512)
69
+
70
+ end # PG_GETPROPERTYVALUES_FLAGS
121
71
 
72
+ # Misc argument flags.
122
73
  #
123
74
  #
124
- PG_SETVAL_AGGREGATED = Wx::PG::PG_SETVALUE_FLAGS.new(2)
75
+ #
76
+ # @wxrb_require USE_PROPGRID
77
+ class PG_MISC_ARG_FLAGS < Wx::Enum
78
+
79
+ # Get/Store full value instead of displayed value.
80
+ #
81
+ PG_FULL_VALUE = Wx::PG::PG_MISC_ARG_FLAGS.new(1)
82
+
83
+ # Perform special action in case of unsuccessful conversion.
84
+ #
85
+ PG_REPORT_ERROR = Wx::PG::PG_MISC_ARG_FLAGS.new(2)
86
+
87
+ #
88
+ #
89
+ PG_PROPERTY_SPECIFIC = Wx::PG::PG_MISC_ARG_FLAGS.new(4)
90
+
91
+ # Get/Store editable value instead of displayed one (should only be different in the case of common values).
92
+ #
93
+ PG_EDITABLE_VALUE = Wx::PG::PG_MISC_ARG_FLAGS.new(8)
94
+
95
+ # Used when dealing with fragments of composite string value.
96
+ #
97
+ PG_COMPOSITE_FRAGMENT = Wx::PG::PG_MISC_ARG_FLAGS.new(16)
98
+
99
+ # Means property for which final string value is for cannot really be edited.
100
+ #
101
+ PG_UNEDITABLE_COMPOSITE_FRAGMENT = Wx::PG::PG_MISC_ARG_FLAGS.new(32)
102
+
103
+ # {Wx::PG::PGProperty#value_to_string} called from {Wx::PG::PGProperty#get_value_as_string} (guarantees that input {Wx::Variant} value is current own value)
104
+ #
105
+ PG_VALUE_IS_CURRENT = Wx::PG::PG_MISC_ARG_FLAGS.new(64)
106
+
107
+ # Value is being set programmatically (i.e.
108
+ #
109
+ PG_PROGRAMMATIC_VALUE = Wx::PG::PG_MISC_ARG_FLAGS.new(128)
110
+
111
+ end # PG_MISC_ARG_FLAGS
125
112
 
113
+ # {Wx::PG::PGProperty#set_value} flags
126
114
  #
127
115
  #
128
- PG_SETVAL_FROM_PARENT = Wx::PG::PG_SETVALUE_FLAGS.new(4)
129
-
130
- # Set if value changed by user.
131
116
  #
132
- PG_SETVAL_BY_USER = Wx::PG::PG_SETVALUE_FLAGS.new(8)
117
+ # @wxrb_require USE_PROPGRID
118
+ class PG_SETVALUE_FLAGS < Wx::Enum
133
119
 
134
- end # PG_SETVALUE_FLAGS
135
-
136
- #
137
- PG_ATTR_DEFAULT_VALUE = "DefaultValue"
138
-
139
- #
140
- PG_ATTR_MIN = "Min"
141
-
142
- #
143
- PG_ATTR_MAX = "Max"
144
-
145
- #
146
- PG_ATTR_UNITS = "Units"
147
-
148
- #
149
- PG_ATTR_HINT = "Hint"
150
-
151
- #
152
- PG_ATTR_AUTOCOMPLETE = "AutoComplete"
153
-
154
- #
155
- PG_BOOL_USE_CHECKBOX = "UseCheckbox"
156
-
157
- #
158
- PG_BOOL_USE_DOUBLE_CLICK_CYCLING = "UseDClickCycling"
159
-
160
- #
161
- PG_FLOAT_PRECISION = "Precision"
162
-
163
- #
164
- PG_STRING_PASSWORD = "Password"
165
-
166
- #
167
- PG_UINT_BASE = "Base"
168
-
169
- #
170
- PG_UINT_PREFIX = "Prefix"
171
-
172
- #
173
- PG_DIALOG_TITLE = "DialogTitle"
174
-
175
- #
176
- PG_FILE_WILDCARD = "Wildcard"
177
-
178
- #
179
- PG_FILE_SHOW_FULL_PATH = "ShowFullPath"
180
-
181
- #
182
- PG_FILE_SHOW_RELATIVE_PATH = "ShowRelativePath"
183
-
184
- #
185
- PG_FILE_INITIAL_PATH = "InitialPath"
186
-
187
- #
188
- PG_FILE_DIALOG_STYLE = "DialogStyle"
189
-
190
- #
191
- PG_ARRAY_DELIMITER = "Delimiter"
192
-
193
- #
194
- PG_DATE_FORMAT = "DateFormat"
195
-
196
- #
197
- PG_DATE_PICKER_STYLE = "PickerStyle"
198
-
199
- #
200
- PG_ATTR_SPINCTRL_STEP = "Step"
201
-
202
- #
203
- PG_ATTR_SPINCTRL_WRAP = "Wrap"
204
-
205
- #
206
- PG_ATTR_SPINCTRL_MOTION = "MotionSpin"
207
-
208
- #
209
- PG_ATTR_MULTICHOICE_USERSTRINGMODE = "UserStringMode"
210
-
211
- #
212
- PG_COLOUR_ALLOW_CUSTOM = "AllowCustom"
213
-
214
- #
215
- PG_COLOUR_HAS_ALPHA = "HasAlpha"
216
-
217
- #
218
- PG_PROP_MAX = 262144
219
-
220
- #
221
- PG_PROP_PARENTAL_FLAGS = 25600
222
-
223
- #
224
- PG_STRING_STORED_FLAGS = 54
225
-
226
- #
227
- #
228
- # ## wxPGProperty Flags
229
- #
230
- # @wxrb_require USE_PROPGRID
231
- class PGPropertyFlags < Wx::Enum
232
-
233
- # Indicates bold font.
234
- #
235
- PG_PROP_MODIFIED = Wx::PG::PGPropertyFlags.new(1)
120
+ #
121
+ #
122
+ PG_SETVAL_REFRESH_EDITOR = Wx::PG::PG_SETVALUE_FLAGS.new(1)
123
+
124
+ #
125
+ #
126
+ PG_SETVAL_AGGREGATED = Wx::PG::PG_SETVALUE_FLAGS.new(2)
127
+
128
+ #
129
+ #
130
+ PG_SETVAL_FROM_PARENT = Wx::PG::PG_SETVALUE_FLAGS.new(4)
131
+
132
+ # Set if value changed by user.
133
+ #
134
+ PG_SETVAL_BY_USER = Wx::PG::PG_SETVALUE_FLAGS.new(8)
135
+
136
+ end # PG_SETVALUE_FLAGS
236
137
 
237
- # Disables ('greyed' text and editor does not activate) property.
238
138
  #
239
- PG_PROP_DISABLED = Wx::PG::PGPropertyFlags.new(2)
139
+ PG_ATTR_DEFAULT_VALUE = "DefaultValue"
240
140
 
241
- # Hider button will hide this property.
242
141
  #
243
- PG_PROP_HIDDEN = Wx::PG::PGPropertyFlags.new(4)
142
+ PG_ATTR_MIN = "Min"
244
143
 
245
- # This property has custom paint image just in front of its value.
246
144
  #
247
- PG_PROP_CUSTOMIMAGE = Wx::PG::PGPropertyFlags.new(8)
145
+ PG_ATTR_MAX = "Max"
248
146
 
249
- # Do not create text based editor for this property (but button-triggered dialog and choice are ok).
250
147
  #
251
- PG_PROP_NOEDITOR = Wx::PG::PGPropertyFlags.new(16)
148
+ PG_ATTR_UNITS = "Units"
252
149
 
253
- # Property is collapsed, ie.
254
150
  #
255
- PG_PROP_COLLAPSED = Wx::PG::PGPropertyFlags.new(32)
151
+ PG_ATTR_HINT = "Hint"
256
152
 
257
- # If property is selected, then indicates that validation failed for pending value.
258
153
  #
259
- PG_PROP_INVALID_VALUE = Wx::PG::PGPropertyFlags.new(64)
154
+ PG_ATTR_AUTOCOMPLETE = "AutoComplete"
260
155
 
261
- # Switched via SetWasModified().
262
156
  #
263
- PG_PROP_WAS_MODIFIED = Wx::PG::PGPropertyFlags.new(512)
157
+ PG_BOOL_USE_CHECKBOX = "UseCheckbox"
264
158
 
265
- # If set, then child properties (if any) are private, and should be "invisible" to the application.
266
159
  #
267
- PG_PROP_AGGREGATE = Wx::PG::PGPropertyFlags.new(1024)
160
+ PG_BOOL_USE_DOUBLE_CLICK_CYCLING = "UseDClickCycling"
268
161
 
269
- # If set, then child properties (if any) are copies and should not be deleted in dtor.
270
162
  #
271
- PG_PROP_CHILDREN_ARE_COPIES = Wx::PG::PGPropertyFlags.new(2048)
163
+ PG_FLOAT_PRECISION = "Precision"
272
164
 
273
- # Classifies this item as a non-category.
274
165
  #
275
- PG_PROP_PROPERTY = Wx::PG::PGPropertyFlags.new(4096)
166
+ PG_STRING_PASSWORD = "Password"
276
167
 
277
- # Classifies this item as a category.
278
168
  #
279
- PG_PROP_CATEGORY = Wx::PG::PGPropertyFlags.new(8192)
169
+ PG_UINT_BASE = "Base"
280
170
 
281
- # Classifies this item as a property that has children, but is not aggregate (i.e.
282
171
  #
283
- PG_PROP_MISC_PARENT = Wx::PG::PGPropertyFlags.new(16384)
172
+ PG_UINT_PREFIX = "Prefix"
284
173
 
285
- # Property is read-only.
286
174
  #
287
- PG_PROP_READONLY = Wx::PG::PGPropertyFlags.new(32768)
175
+ PG_DIALOG_TITLE = "DialogTitle"
288
176
 
289
- # Property's value is composed from values of child properties.
290
177
  #
291
- PG_PROP_COMPOSED_VALUE = Wx::PG::PGPropertyFlags.new(65536)
178
+ PG_FILE_WILDCARD = "Wildcard"
292
179
 
293
- # Common value of property is selectable in editor.
294
180
  #
295
- PG_PROP_USES_COMMON_VALUE = Wx::PG::PGPropertyFlags.new(131072)
181
+ PG_FILE_SHOW_FULL_PATH = "ShowFullPath"
296
182
 
297
- # Property can be set to unspecified value via editor.
298
183
  #
299
- PG_PROP_AUTO_UNSPECIFIED = Wx::PG::PGPropertyFlags.new(262144)
184
+ PG_FILE_SHOW_RELATIVE_PATH = "ShowRelativePath"
300
185
 
301
- # Indicates the bit usable by derived properties.
302
186
  #
303
- PG_PROP_CLASS_SPECIFIC_1 = Wx::PG::PGPropertyFlags.new(524288)
187
+ PG_FILE_INITIAL_PATH = "InitialPath"
304
188
 
305
- # Indicates the bit usable by derived properties.
306
189
  #
307
- PG_PROP_CLASS_SPECIFIC_2 = Wx::PG::PGPropertyFlags.new(1048576)
190
+ PG_FILE_DIALOG_STYLE = "DialogStyle"
308
191
 
309
- # Indicates that the property is being deleted and should be ignored.
310
192
  #
311
- PG_PROP_BEING_DELETED = Wx::PG::PGPropertyFlags.new(2097152)
193
+ PG_ARRAY_DELIMITER = "Delimiter"
312
194
 
313
- end # PGPropertyFlags
314
-
315
- # {Wx::PG::PGProperty} is base class for all {Wx::PG::PropertyGrid} properties and as such it is not intended to be instantiated directly.
316
- #
317
- # In sections below we cover few related topics.
318
- #
319
- # - Supplied Ready-to-use Property Classes
320
- #
321
- # - Creating Custom Properties
322
- #
323
- # ## Supplied Ready-to-use Property Classes
324
- #
325
- # Here is a list and short description of supplied fully-functional property classes. They are located in either {Wx::props.h} or {Wx::advprops.h}.
326
- #
327
- # - {Wx::PG::ArrayStringProperty}
328
- #
329
- # - {Wx::PG::BoolProperty}
330
- #
331
- # - {Wx::PG::ColourProperty}
332
- #
333
- # - {Wx::PG::CursorProperty}
334
- #
335
- # - {Wx::PG::DateProperty}
336
- #
337
- # - {Wx::PG::DirProperty}
338
- #
339
- # - {Wx::PG::EditEnumProperty}
340
- #
341
- # - {Wx::PG::EnumProperty}
342
- #
343
- # - {Wx::PG::FileProperty}
344
- #
345
- # - {Wx::PG::FlagsProperty}
346
- #
347
- # - {Wx::PG::FloatProperty}
348
- #
349
- # - {Wx::PG::FontProperty}
350
- #
351
- # - {Wx::PG::ImageFileProperty}
352
- #
353
- # - {Wx::PG::IntProperty}
354
- #
355
- # - {Wx::PG::LongStringProperty}
356
- #
357
- # - {Wx::PG::MultiChoiceProperty}
358
- #
359
- # - {Wx::PG::PropertyCategory}
360
- #
361
- # - {Wx::PG::StringProperty}
362
- #
363
- # - {Wx::PG::SystemColourProperty}
364
- #
365
- # - {Wx::PG::UIntProperty}
366
- #
367
- # ## wxPropertyCategory
368
- #
369
- # Not an actual property per se, but a header for a group of properties. Regardless inherits from {Wx::PG::PGProperty}, and supports displaying 'labels' for columns other than the first one. Easiest way to set category's label for second column is to call {Wx::PG::PGProperty#set_value} with string argument.
370
- #
371
- # ## wxStringProperty
372
- #
373
- # Simple string property.
374
- # Supported special attributes:
375
- #
376
- # - {Wx::PG::PG_STRING_PASSWORD}: Set to true in order to echo value as asterisks and to use {Wx::TE_PASSWORD} on the editor ({Wx::TextCtrl}).
377
- # - {Wx::PG::PG_ATTR_AUTOCOMPLETE}: Set to true to enable auto-completion (use a {Wx::ArrayString} value), and is also supported by any property that happens to use a {Wx::TextCtrl}-based editor.
378
- #
379
- # <div class="wxrb-remark">
380
- # <b>Remark:</b>
381
- # <p>{Wx::PG::StringProperty} has a special trait: if it has value of "<composed>", and also has child properties, then its displayed value becomes composition of child property values, similar as with {Wx::PG::FontProperty}, for instance.
382
- # </p>
383
- # </div>
384
- #
385
- # ## wxIntProperty
386
- #
387
- # It derives from {Wx::PG::NumericProperty} and displays value as a signed long integer. {Wx::PG::IntProperty} seamlessly supports 64-bit integers (i.e. {Wx::LongLong}) on overflow. To safely convert variant to integer, use code like this:
388
- #
389
- # ```
390
- # wxLongLong ll;
391
- # ll << property->GetValue();
392
- #
393
- # // or
394
- # wxLongLong ll = propertyGrid->GetPropertyValueAsLong(property);
395
- # ```
396
- #
397
- # Getting 64-bit value:
398
- # ```
399
- # wxLongLong_t value = pg->GetPropertyValueAsLongLong();
400
- #
401
- # // or
402
- #
403
- # wxLongLong value;
404
- # wxVariant variant = property->GetValue();
405
- # if ( variant.IsType(wxPG_VARIANT_TYPE_LONGLONG) )
406
- # value = variant.GetLongLong();
407
- # else
408
- # value = variant.GetLong();
409
- # ```
410
- #
411
- # Setting 64-bit value:
412
- # ```
413
- # pg->SetPropertyValue(longLongVal);
414
- #
415
- # // or
416
- #
417
- # property->SetValue(WXVARIANT(longLongVal));
418
- # ```
419
- #
420
- # Supported special attributes:
421
- #
422
- # - {Wx::PG::PG_ATTR_MIN}, {Wx::PG::PG_ATTR_MAX} to specify acceptable value range.
423
- # - {Wx::PG::PG_ATTR_SPINCTRL_STEP}, {Wx::PG::PG_ATTR_SPINCTRL_WRAP}, {Wx::PG::PG_ATTR_SPINCTRL_MOTION}: Sets SpinCtrl editor parameters.
424
- #
425
- # ## wxUIntProperty
426
- #
427
- # Like {Wx::PG::IntProperty}, but displays value as unsigned int. To set the prefix used globally, manipulate {Wx::PG::PG_UINT_PREFIX} string attribute. To set the globally used base, manipulate {Wx::PG::PG_UINT_BASE} int attribute. Regardless of current prefix, understands (hex) values starting with both "0x" and "$" (apart from edit mode). Like {Wx::PG::IntProperty}, {Wx::PG::UIntProperty} seamlessly supports 64-bit unsigned integers (i.e. {Wx::ULongLong}). Same {Wx::Variant} safety rules apply.
428
- # Supported special attributes:
429
- #
430
- # - {Wx::PG::PG_ATTR_MIN}, {Wx::PG::PG_ATTR_MAX}: Specifies acceptable value range.
431
- # - {Wx::PG::PG_UINT_BASE}: Defines base. Valid constants are {Wx::PG::PG_BASE_OCT}, {Wx::PG::PG_BASE_DEC}, {Wx::PG::PG_BASE_HEX} and {Wx::PG::PG_BASE_HEXL} (lowercase characters). Arbitrary bases are <b>not</b> supported.
432
- # - {Wx::PG::PG_UINT_PREFIX}: Defines displayed prefix. Possible values are {Wx::PG::PG_PREFIX_NONE}, {Wx::PG::PG_PREFIX_0x} and {Wx::PG::PG_PREFIX_DOLLAR_SIGN}. Only {Wx::PG::PG_PREFIX_NONE} works with decimal and octal numbers.
433
- # - {Wx::PG::PG_ATTR_SPINCTRL_STEP}, {Wx::PG::PG_ATTR_SPINCTRL_WRAP}, {Wx::PG::PG_ATTR_SPINCTRL_MOTION}: Sets SpinCtrl editor parameters.
434
- #
435
- # <div class="wxrb-remark">
436
- # <b>Remark:</b>
437
- # <p>For example how to use seamless 64-bit integer support, see {Wx::PG::IntProperty} documentation (just use {Wx::ULongLong} instead of {Wx::LongLong}).
438
- # </p>
439
- # </div>
440
- #
441
- # ## wxFloatProperty
442
- #
443
- # Like {Wx::PG::StringProperty}, but converts text to a double-precision floating point. Default float-to-text precision is 6 decimals, but this can be changed by modifying {Wx::PG::PG_FLOAT_PRECISION} attribute.
444
- # Note that when displaying the value, sign is omitted if the resulting textual representation is effectively zero (for example, -0.0001 with precision of 3 will become 0.0 instead of -0.0). This behaviour is unlike what C standard library does, but should result in better end-user experience in almost all cases.
445
- # Supported special attributes:
446
- #
447
- # - {Wx::PG::PG_ATTR_MIN}, {Wx::PG::PG_ATTR_MAX}: Specifies acceptable value range.
448
- # - {Wx::PG::PG_FLOAT_PRECISION}: Sets the (max) precision used when floating point value is rendered as text. The default -1 means shortest floating-point 6-digit representation.
449
- # - {Wx::PG::PG_ATTR_SPINCTRL_STEP}, {Wx::PG::PG_ATTR_SPINCTRL_WRAP}, {Wx::PG::PG_ATTR_SPINCTRL_MOTION}: Sets SpinCtrl editor parameters.
450
- #
451
- # ## wxBoolProperty
452
- #
453
- # Represents a boolean value. {Wx::Choice} is used as editor control, by the default. {Wx::PG::PG_BOOL_USE_CHECKBOX} attribute can be set to true in order to use check box instead.
454
- # Supported special attributes:
455
- #
456
- # - {Wx::PG::PG_BOOL_USE_CHECKBOX}: If set to true uses check box editor instead of combo box.
457
- # - {Wx::PG::PG_BOOL_USE_DOUBLE_CLICK_CYCLING}: If set to true cycles combo box instead showing the list.
458
- #
459
- # ## wxLongStringProperty
460
- #
461
- # Like {Wx::PG::StringProperty}, but has a button that triggers a small text editor dialog. Note that in long string values, some control characters are escaped: tab is represented by "\t", line break by "\n", carriage return by "\r" and backslash character by "\\". If another character is preceded
462
- # by backslash, the backslash is skipped.
463
- # Note also that depending on the system (port), some sequences of special
464
- # characters, like e.g. "\r
465
- #
466
- # ", can be interpreted and presented in
467
- # a different way in the editor and therefore such sequences may not be
468
- # the same before and after the edition.
469
- #
470
- # To display a custom dialog on button press, you can subclass
471
- # {Wx::PG::LongStringProperty} and override DisplayEditorDialog, like this:
472
- #
473
- # bool DisplayEditorDialog( {Wx::PG::PropertyGrid}* propGrid, {Wx::Variant}& value ) {Wx::OVERRIDE}
474
- # {
475
- # {Wx::Size} dialogSize(...size of your dialog...);
476
- #
477
- # {Wx::Point} dlgPos = propGrid->GetGoodEditorDialogPosition(this,
478
- # dialogSize)
479
- #
480
- # // Create dialog dlg at dlgPos. Use value as initial string
481
- # // value.
482
- # ...
483
- #
484
- # if ( dlg.ShowModal() == {Wx::StandardID::ID_OK} )
485
- # {
486
- # value = dlg.GetStringValue);
487
- # return true;
488
- # }
489
- # return false;
490
- # }
491
- #
492
- # Also, if you wish not to have line breaks and tabs translated to
493
- # escape sequences, then do following in constructor of your subclass:
494
- #
495
- # m_flags |= {Wx::PG_PROP_NO_ESCAPE};
496
- #
497
- # Supported special attributes:
498
- # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the text editor dialog.
499
- #
500
- # ## {Wx::PG::DirProperty}
501
- #
502
- # Like {Wx::PG::LongStringProperty}, but the button triggers dir selector instead.
503
- #
504
- # Supported special attributes:
505
- # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets specific title for the dir selector.
506
- #
507
- # ## {Wx::PG::FileProperty}
508
- #
509
- # Like {Wx::PG::LongStringProperty}, but the button triggers file selector instead.
510
- # Default wildcard is "All files..." but this can be changed by setting
511
- # ::{Wx::PG::PG_FILE_WILDCARD} attribute.
512
- #
513
- # Supported special attributes:
514
- # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the file dialog.
515
- # - ::{Wx::PG::PG_FILE_DIALOG_STYLE}: Sets a specific {Wx::FileDialog} style for the file dialog.
516
- # - ::{Wx::PG::PG_FILE_WILDCARD}: Sets wildcard (see {Wx::FileDialog} for format details), "All files..." is default.
517
- # - ::{Wx::PG::PG_FILE_SHOW_FULL_PATH}: Default <span class='literal'>true</span>. When <span class='literal'>false</span>, only the file name is shown
518
- # (i.e. drive and directory are hidden).
519
- # - ::{Wx::PG::PG_FILE_SHOW_RELATIVE_PATH}: If set, then the filename is shown relative to the
520
- # given path string.
521
- # - ::{Wx::PG::PG_FILE_INITIAL_PATH}: Sets the initial path of where to look for files.
522
- #
523
- # ## {Wx::PG::EnumProperty}
524
- #
525
- # Represents a single selection from a list of choices -
526
- # {Wx::OwnerDrawnComboBox} is used to edit the value.
527
- #
528
- # ## {Wx::PG::FlagsProperty}
529
- #
530
- # Represents a bit set that fits in a long integer. {Wx::PG::BoolProperty} sub-
531
- # properties are created for editing individual bits. Textctrl is created to
532
- # manually edit the flags as a text; a continuous sequence of spaces, commas
533
- # and semicolons are considered as a flag id separator.
534
- #
535
- # <b>Note:</b> When changing "choices" (i.e. flag labels) of {Wx::PG::FlagsProperty},
536
- # you will need to use {Wx::PG::PGProperty#set_choices} - otherwise they will not
537
- # get updated properly.
538
- #
539
- # {Wx::PG::FlagsProperty} supports the same attributes as {Wx::PG::BoolProperty}.
540
- #
541
- # ## {Wx::PG::ArrayStringProperty}
542
- #
543
- # Property that manages a list of strings. Allows editing of a list
544
- # of strings in {Wx::TextCtrl} and in a separate dialog.
545
- #
546
- # Supported special attributes:
547
- # - ::{Wx::PG::PG_ARRAY_DELIMITER}: Sets string delimiter character.
548
- # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the editor dialog.
549
- # Default is comma (',').
550
- #
551
- # ## {Wx::PG::DateProperty}
552
- #
553
- # Property representing {Wx::DateTime}. Default editor is DatePickerCtrl,
554
- # although TextCtrl should work as well.
555
- #
556
- # Supported special attributes:
557
- # - ::{Wx::PG::PG_DATE_FORMAT}: Determines displayed date format (with Wx::DateTime::Format).
558
- # Default is recommended as it is locale-dependent.
559
- # - ::{Wx::PG::PG_DATE_PICKER_STYLE}: Determines window style used with {Wx::DatePickerCtrl}.
560
- # Default is ::{Wx::DP_DEFAULT} | ::{Wx::DP_SHOWCENTURY}. Using ::{Wx::DP_ALLOWNONE}
561
- # enables additional support for unspecified property value.
562
- #
563
- # ## {Wx::PG::EditEnumProperty}
564
- #
565
- # Represents a string that can be freely edited or selected from list of choices -
566
- # custom combobox control is used to edit the value.
567
- #
568
- # Uses int value, similar to {Wx::PG::EnumProperty}, unless text entered by user is
569
- # is not in choices (in which case string value is used).
570
- #
571
- # ## {Wx::PG::MultiChoiceProperty}
572
- #
573
- # Allows editing a multiple selection from a list of strings. This is
574
- # property is pretty much built around concept of {Wx::MultiChoiceDialog}.
575
- # It uses {Wx::ArrayString} value.
576
- #
577
- # Supported special attributes:
578
- # - ::{Wx::PG::PG_ATTR_MULTICHOICE_USERSTRINGMODE}: If > 0, allows user to manually
579
- # enter strings that are not in the list of choices. If this value is 1,
580
- # user strings are preferably placed in front of valid choices. If value
581
- # is 2, then those strings will placed behind valid choices.
582
- # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the editor dialog.
583
- #
584
- # ## {Wx::PG::ImageFileProperty}
585
- #
586
- # Property representing image file(name). Like {Wx::PG::FileProperty},
587
- # but has thumbnail of the image in front of the filename
588
- # and autogenerates wildcard from available image handlers.
589
- #
590
- # Supported special attributes:
591
- # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the file dialog.
592
- # - ::{Wx::PG::PG_FILE_DIALOG_STYLE}: Sets a specific {Wx::FileDialog} style for the file dialog.
593
- # - ::{Wx::PG::PG_FILE_WILDCARD}: Sets wildcard (see {Wx::FileDialog} for format details), "All files..." is default.
594
- #
595
- # - {Wx::PG::PG_FILE_SHOW_FULL_PATH}: Default true. When false, only the file name is shown (i.e. drive and directory are hidden).
596
- # - {Wx::PG::PG_FILE_SHOW_RELATIVE_PATH}: If set, then the filename is shown relative to the given path string.
597
- # - {Wx::PG::PG_FILE_INITIAL_PATH}: Sets the initial path of where to look for files.
598
- #
599
- # ## wxColourProperty
600
- #
601
- # <b>Useful alternate editor:</b> Choice.
602
- # Represents {Wx::Colour}. {Wx::Button} is used to trigger a colour picker dialog. There are various sub-classing opportunities with this class. See below in {Wx::PG::SystemColourProperty} section for details.
603
- # Supported special attributes:
604
- #
605
- # - {Wx::PG::PG_COLOUR_HAS_ALPHA}: If set to true allows user to edit the alpha colour component.
606
- #
607
- # ## wxFontProperty
608
- #
609
- # Represents {Wx::Font}. Various sub-properties are used to edit individual subvalues.
610
- # Supported special attributes:
611
- #
612
- # - {Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the font dialog.
613
- #
614
- # ## wxSystemColourProperty
615
- #
616
- # Represents {Wx::Colour} and a system colour index. {Wx::Choice} is used to edit the value. Drop-down list has color images. Note that value type is {Wx::PG::ColourPropertyValue} instead of {Wx::Colour} (which {Wx::PG::ColourProperty} uses).
617
- #
618
- # In {Wx::PG::SystemColourProperty}, and its derived class {Wx::PG::ColourProperty}, there are various sub-classing features. To set a basic list of colour names, call {Wx::PG::PGProperty#set_choices}.
619
- #
620
- # ```ruby
621
- # # Override in derived class to customize how colours are translated
622
- # # to strings.
623
- # def colour_to_string(col, index) end
624
- #
625
- # # Returns index of entry that triggers colour picker dialog
626
- # # (default is last).
627
- # def get_custom_colour_index; end
628
- #
629
- # # Helper function to show the colour dialog
630
- # def query_colour_from_user(variant) end
631
- #
632
- # # Returns colour for given choice.
633
- # # Default function returns Wx::SystemSettings.get_colour(index).
634
- # def get_colour(index) end
635
- # ```
636
- #
637
- # ## wxCursorProperty
638
- #
639
- # Represents a {Wx::Cursor}. {Wx::Choice} is used to edit the value. Drop-down list has cursor images under some (WXMSW) platforms.
640
- #
641
- # ## Creating Custom Properties
642
- #
643
- # New properties can be created by subclassing {Wx::PG::PGProperty} or one of the provided property classes, and (re)implementing necessary member functions. Below, each virtual member function has ample documentation about its purpose and any odd details which to keep in mind.
644
- # Here is a very simple 'template' code:
645
- #
646
- # ``` ruby
647
- # class MyProperty < Wx::PG::PGProperty
648
- #
649
- # # All arguments of this ctor must have a default value -
650
- # # use Wx::PG::PG_LABEL for label and name
651
- # def initialize(label = Wx::PG::PG_LABEL, name = Wx::PG::PG_LABEL, value = '')
652
- # super(label, name)
653
- # # self.value is Wx::Variant
654
- # self.value = value
655
- # end
656
- #
657
- # def do_get_editor_class
658
- # # Determines editor used by property.
659
- # # You can replace 'TEXT_CTRL' below with any of these
660
- # # builtin-in property editor identifiers: CHOICE, COMBO_BOX,
661
- # # TEXT_CTRL_AND_BUTTON, CHOICE_AND_BUTTON, CHECK_BOX, SPIN_CTRL,
662
- # # DATE_PICKER_CTRL.
663
- # return Wx::PG::PG_EDITOR_TEXT_CTRL
664
- # end
665
- #
666
- # def value_to_string(value, argFlags)
667
- # # TODO: Convert given property value to a string
668
- # end
669
- #
670
- # def string_to_value(variant, text, argFlags)
671
- # # TODO: Adapt string to property value.
672
- # end
673
- #
674
- # protected
675
- # # ...
676
- # end
677
- # ```
678
- #
679
- # Category: {Wx::PG::PropertyGrid}
680
- # @see wxPropertyGrid Property Attribute Identifiers
681
- #
682
- # @see wxPropertyGrid Property Attribute Identifiers
683
- #
684
- # @see wxPropertyGrid Property Attribute Identifiers
685
- #
686
- # @see wxPropertyGrid Property Attribute Identifiers
687
- #
688
- # @see wxPropertyGrid Property Attribute Identifiers
689
- #
690
- # @see wxPropertyGrid Property Attribute Identifiers
691
- #
692
- # @see wxPropertyGrid Property Attribute Identifiers
693
- #
694
- #
695
- # @wxrb_require USE_PROPGRID
696
- class PGProperty < Object
697
-
698
- # This virtual function is called after m_value has been set.
699
195
  #
700
- # <div class="wxrb-remark">
701
- # <b>Remark:</b>
702
- # <p>
703
- #
704
- # - If m_value was set to Null variant (i.e. unspecified value), {Wx::PG::PGProperty#on_set_value} will not be called.
705
- # - m_value may be of any variant type. Typically properties internally support only one variant type, and as such {Wx::PG::PGProperty#on_set_value} provides a good opportunity to convert supported values into internal type.
706
- # - Default implementation does nothing.
707
- #
708
- # </p>
709
- # </div>
710
- # @return [void]
711
- def on_set_value; end
196
+ PG_DATE_FORMAT = "DateFormat"
712
197
 
713
- # Override this to return something else than m_value as the value.
714
- # @return [Wx::Variant]
715
- def do_get_value; end
716
-
717
- # Implement this function in derived class to check the value.
718
- #
719
- # Return true if it is ok. Returning false prevents property change events from occurring.
720
- #
721
- # <div class="wxrb-remark">
722
- # <b>Remark:</b>
723
- # <p>
724
- #
725
- # - Default implementation always returns true.
726
198
  #
727
- # </p>
728
- # </div>
729
- # @param value [Wx::Variant]
730
- # @param validationInfo [Wx::PG::PGValidationInfo]
731
- # @return [Boolean]
732
- def validate_value(value, validationInfo) end
199
+ PG_DATE_PICKER_STYLE = "PickerStyle"
733
200
 
734
- # Converts text into {Wx::Variant} value appropriate for this property.
735
- #
736
- # Returns true if resulting {Wx::Variant} value was different.
737
- #
738
- # <div class="wxrb-remark">
739
- # <b>Remark:</b>
740
- # <p>Default implementation converts semicolon delimited tokens into child values. Only works for properties with children.
741
- # </p>
742
- # </div>
743
201
  #
744
- # You might want to take into account that m_value is Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).
745
- # @param variant [Wx::Variant] On function entry this is the old value (should not be {Wx::NullVariant} in normal cases). Translated value must be assigned back to it.
746
- # @param text [String] Text to be translated into variant.
747
- # @param argFlags [Integer] If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable value instead of displayable one (they may be different). If {Wx::PG::PG_MISC_ARG_FLAGS::PG_COMPOSITE_FRAGMENT} is set, text is interpreted as a part of composite property string value (as generated by {Wx::PG::PGProperty#value_to_string} called with this same flag).
748
- # @return [Boolean]
749
- def string_to_value(variant, text, argFlags=0) end
202
+ PG_ATTR_SPINCTRL_STEP = "Step"
750
203
 
751
- # Converts integer (possibly a choice selection) into {Wx::Variant} value appropriate for this property.
752
- #
753
- # Returns true if resulting {Wx::Variant} value was different.
754
- #
755
- # <div class="wxrb-remark">
756
- # <b>Remark:</b>
757
- # <p>
758
204
  #
759
- # - If property is not supposed to use choice or spinctrl or other editor with int-based value, it is not necessary to implement this method.
760
- # - Default implementation simply assign given int to m_value.
761
- # - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.
762
- # - You might want to take into account that m_value is Mull variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).
763
- #
764
- # </p>
765
- # </div>
766
- # @param variant [Wx::Variant] On function entry this is the old value (should not be {Wx::NullVariant} in normal cases). Translated value must be assigned back to it.
767
- # @param number [Integer] Integer to be translated into variant.
768
- # @param argFlags [Integer] If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable value instead of displayable one.
769
- # @return [Boolean]
770
- def int_to_value(variant, number, argFlags=0) end
205
+ PG_ATTR_SPINCTRL_WRAP = "Wrap"
771
206
 
772
- # Converts property value into a text representation.
773
207
  #
774
- # <div class="wxrb-remark">
775
- # <b>Remark:</b>
776
- # <p>Default implementation calls {Wx::PG::PGProperty#generate_composed_value}.
777
- # </p>
778
- # </div>
779
- # @param value [Wx::Variant] Value to be converted.
780
- # @param argFlags [Integer] If 0 (default value), then displayed string is returned. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable string value instead of displayable. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_EDITABLE_VALUE} is set, returns string value that must be editable in textctrl. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_COMPOSITE_FRAGMENT} is set, returns text that is appropriate to display as a part of string property's composite text representation.
781
- # @return [String]
782
- def value_to_string(value, argFlags=0) end
208
+ PG_ATTR_SPINCTRL_MOTION = "MotionSpin"
783
209
 
784
- # Converts string to a value, and if successful, calls {Wx::PG::PGProperty#set_value} on it.
785
- #
786
- # Default behaviour is to do nothing.
787
210
  #
788
- # true if value was changed.
789
- # @param text [String] String to get the value from.
790
- # @param flags [Integer] If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, the function sets complete, storable value instead of displayable one (they may be different). {Wx::PG::PG_MISC_ARG_FLAGS::PG_PROGRAMMATIC_VALUE} flag is used to indicate that value is being set programmatically (i.e. operation is not caused by user input). If {Wx::PG::PG_MISC_ARG_FLAGS::PG_REPORT_ERROR} is set, a special action should be performed if string couldn't have been successfully converted to the valid value (e.g. a special value can be set in this case).
791
- # @return [Boolean]
792
- def set_value_from_string(text, flags=Wx::PG::PG_MISC_ARG_FLAGS::PG_PROGRAMMATIC_VALUE) end
793
- alias_method :value_from_string=, :set_value_from_string
211
+ PG_ATTR_MULTICHOICE_USERSTRINGMODE = "UserStringMode"
794
212
 
795
- # Converts integer to a value, and if successful, calls {Wx::PG::PGProperty#set_value} on it.
796
- #
797
- # Default behaviour is to do nothing.
798
213
  #
799
- # true if value was changed.
800
- # @param value [Integer] Int to get the value from.
801
- # @param flags [Integer] If has {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE}, then the value given is an actual value and not an index.
802
- # @return [Boolean]
803
- def set_value_from_int(value, flags=0) end
804
- alias_method :value_from_int=, :set_value_from_int
214
+ PG_COLOUR_ALLOW_CUSTOM = "AllowCustom"
805
215
 
806
- # Returns size of the custom painted image in front of property.
807
216
  #
808
- # This method must be overridden to return non-default value if OnCustomPaint is to be called.
809
- #
810
- # <div class="wxrb-remark">
811
- # <b>Remark:</b>
812
- # <p>
813
- #
814
- # - Default behaviour is to return {size(0,0)}, which means no image.
815
- # - Default image width or height is indicated with dimension -1.
816
- # - You can also return {Wx::PG::PG_DEFAULT_IMAGE_SIZE} which equals {Wx::DEFAULT_SIZE}.
817
- #
818
- # </p>
819
- # </div>
820
- # @param item [Integer] Normally -1, but can be an index to the property's list of items.
821
- # @return [Wx::Size]
822
- def on_measure_image(item=-1) end
217
+ PG_COLOUR_HAS_ALPHA = "HasAlpha"
823
218
 
824
- # Events received by editor widgets are processed here.
825
- #
826
- # Note that editor class usually processes most events. Some, such as button press events of TextCtrlAndButton class, can be handled here. Also, if custom handling for regular events is desired, then that can also be done (for example, {Wx::PG::SystemColourProperty} custom handles {Wx::EVT_CHOICE} to display colour picker dialog when 'custom' selection is made).
827
- # If the event causes value to be changed, {Wx::PG::PGProperty#set_value_in_event} should be called to set the new value.
828
- # The parameter event is the associated {Wx::Event}.
829
- #
830
- # Should
831
- #
832
- # return true if any changes in value should be reported.
833
- #
834
- # <div class="wxrb-remark">
835
- # <b>Remark:</b>
836
- # <p>
837
- #
838
- # - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.
839
219
  #
840
- # </p>
841
- # </div>
842
- # @param propgrid [Wx::PG::PropertyGrid]
843
- # @param wnd_primary [Wx::Window]
844
- # @param event [Wx::Event]
845
- # @return [Boolean]
846
- def on_event(propgrid, wnd_primary, event) end
220
+ PG_PROP_MAX = 262144
847
221
 
848
- # Called after value of a child property has been altered.
849
- #
850
- # Must return new value of the whole property (after any alterations warranted by child's new value).
851
- # Note that this function is usually called at the time that value of this property, or given child property, is still pending for change, and as such, result of {Wx::PG::PGProperty#get_value} or m_value should not be relied on.
852
- # Sample pseudo-code implementation:
853
- #
854
- # ```ruby
855
- # class MyProperty < Wx::PG::FlagsProperty
856
- #
857
- # def child_changed(thisValue, childIndex, childValue)
858
- # # Acquire reference to actual type of data stored in variant
859
- # flags = thisValue.object;
860
- # case childIndex
861
- # when 0
862
- # flags.sub_prop1 = childValue.to_i
863
- # when 1
864
- # flags.sub_prop2 = childValue.to_s
865
- # # ...
866
- # end
867
- # # return altered data
868
- # Wx::Variant.new(flags)
869
- # end
870
222
  #
871
- # end
872
- # ```
873
- #
874
- # Modified value of the whole property.
875
- # @param thisValue [Wx::Variant] Value of this property. Changed value should be returned (in previous versions of {Wx::PG::PropertyGrid} it was only necessary to write value back to this argument).
876
- # @param childIndex [Integer] Index of child changed (you can use Item(childIndex) to get child property).
877
- # @param childValue [Wx::Variant] (Pending) value of the child property.
878
- # @return [Wx::Variant]
879
- def child_changed(thisValue, childIndex, childValue) end
223
+ PG_PROP_PARENTAL_FLAGS = 25600
880
224
 
881
- # Returns pointer to an instance of used editor.
882
- # @return [Wx::PG::PGEditor]
883
- def do_get_editor_class; end
884
-
885
- # Returns pointer to the {Wx::Validator} that should be used with the editor of this property (NULL for no validator).
886
- #
887
- # Setting validator explicitly via \#set_property_validator will override this.
888
- # In most situations, code like this should work well:
889
225
  #
890
- # ```ruby
891
- # class MyPropertyClass < Wx::PG::IntProperty
892
- #
893
- # class << self
894
- # def validator
895
- # @validator ||= MyValidator.new(...)
896
- # end
897
- # end
898
- #
899
- # # ...
900
- #
901
- # def do_get_validator
902
- # MyPropertyClass.validator
903
- # end
904
- #
905
- # # ...
906
- #
907
- # end
908
- # ```
909
- #
910
- # <div class="wxrb-remark">
911
- # <b>Remark:</b>
912
- # <p>You can get common filename validator by returning {Wx::PG::FileProperty.get_class_validator}. {Wx::PG::DirProperty}, for example, uses it.
913
- # </p>
914
- # </div>
915
- # @return [Wx::Validator]
916
- def do_get_validator; end
226
+ PG_STRING_STORED_FLAGS = 54
917
227
 
918
- # Override to paint an image in front of the property value text or drop-down list item (but only if {Wx::PG::PGProperty#on_measure_image} is overridden as well).
919
- #
920
- # If property's {Wx::PG::PGProperty#on_measure_image} returns size that has height != 0 but less than row height ( < 0 has special meanings), {Wx::PG::PropertyGrid} calls this method to draw a custom image in a limited area in front of the editor control or value text/graphics, and if control has drop-down list, then the image is drawn there as well (even in the case {Wx::PG::PGProperty#on_measure_image} returned higher height than row height).
921
- # NOTE: Following applies when {Wx::PG::PGProperty#on_measure_image} returns a "flexible" height ( using <code>wxPG_FLEXIBLE_SIZE(W,H)</code> macro), which implies variable height items: If (rect.x+rect.width) is < 0, then this is a measure item call, which means that dc is invalid and only thing that should be done is to set paintdata.m_drawnHeight to the height of the image of item at index paintdata.m_choiceItem. This call may be done even as often as once every drop-down popup show.
922
228
  #
923
- # <div class="wxrb-remark">
924
- # <b>Remark:</b>
925
- # <p>
926
229
  #
927
- # - You can actually exceed rect width, but if you do so then paintdata.m_drawnWidth must be set to the full width drawn in pixels.
928
- # - Due to technical reasons, rect's height will be default even if custom height was reported during measure call.
929
- # - Brush is guaranteed to be default background colour. It has been already used to clear the background of area being painted. It can be modified.
930
- # - Pen is guaranteed to be 1-wide 'black' (or whatever is the proper colour) pen for drawing framing rectangle. It can be changed as well.
230
+ # ## wxPGProperty Flags
931
231
  #
932
- # </p>
933
- # </div>
934
- # @see Wx::PG::PGProperty#value_to_string
935
- # @param dc [Wx::DC] {Wx::DC} to paint on.
936
- # @param rect [Wx::Rect] Box reserved for custom graphics. Includes surrounding rectangle, if any. If x+width is < 0, then this is a measure item call (see above).
937
- # @param paintdata [Wx::PG::PGPaintData] {Wx::PG::PGPaintData} structure with much useful data about painted item.
938
- # @return [void]
939
- def on_custom_paint(dc, rect, paintdata) end
232
+ # @wxrb_require USE_PROPGRID
233
+ class PGPropertyFlags < Wx::Enum
940
234
 
941
- # Returns which choice is currently selected.
942
- #
943
- # Only applies to properties which have choices.
944
- # Needs to reimplemented in derived class if property value does not map directly to a choice. Integer as index, bool, and string usually do.
945
- # @return [Integer]
946
- def get_choice_selection; end
947
- alias_method :choice_selection, :get_choice_selection
235
+ # Indicates bold font.
236
+ #
237
+ PG_PROP_MODIFIED = Wx::PG::PGPropertyFlags.new(1)
238
+
239
+ # Disables ('greyed' text and editor does not activate) property.
240
+ #
241
+ PG_PROP_DISABLED = Wx::PG::PGPropertyFlags.new(2)
242
+
243
+ # Hider button will hide this property.
244
+ #
245
+ PG_PROP_HIDDEN = Wx::PG::PGPropertyFlags.new(4)
246
+
247
+ # This property has custom paint image just in front of its value.
248
+ #
249
+ PG_PROP_CUSTOMIMAGE = Wx::PG::PGPropertyFlags.new(8)
250
+
251
+ # Do not create text based editor for this property (but button-triggered dialog and choice are ok).
252
+ #
253
+ PG_PROP_NOEDITOR = Wx::PG::PGPropertyFlags.new(16)
254
+
255
+ # Property is collapsed, ie.
256
+ #
257
+ PG_PROP_COLLAPSED = Wx::PG::PGPropertyFlags.new(32)
258
+
259
+ # If property is selected, then indicates that validation failed for pending value.
260
+ #
261
+ PG_PROP_INVALID_VALUE = Wx::PG::PGPropertyFlags.new(64)
262
+
263
+ # Switched via SetWasModified().
264
+ #
265
+ PG_PROP_WAS_MODIFIED = Wx::PG::PGPropertyFlags.new(512)
266
+
267
+ # If set, then child properties (if any) are private, and should be "invisible" to the application.
268
+ #
269
+ PG_PROP_AGGREGATE = Wx::PG::PGPropertyFlags.new(1024)
270
+
271
+ # If set, then child properties (if any) are copies and should not be deleted in dtor.
272
+ #
273
+ PG_PROP_CHILDREN_ARE_COPIES = Wx::PG::PGPropertyFlags.new(2048)
274
+
275
+ # Classifies this item as a non-category.
276
+ #
277
+ PG_PROP_PROPERTY = Wx::PG::PGPropertyFlags.new(4096)
278
+
279
+ # Classifies this item as a category.
280
+ #
281
+ PG_PROP_CATEGORY = Wx::PG::PGPropertyFlags.new(8192)
282
+
283
+ # Classifies this item as a property that has children, but is not aggregate (i.e.
284
+ #
285
+ PG_PROP_MISC_PARENT = Wx::PG::PGPropertyFlags.new(16384)
286
+
287
+ # Property is read-only.
288
+ #
289
+ PG_PROP_READONLY = Wx::PG::PGPropertyFlags.new(32768)
290
+
291
+ # Property's value is composed from values of child properties.
292
+ #
293
+ PG_PROP_COMPOSED_VALUE = Wx::PG::PGPropertyFlags.new(65536)
294
+
295
+ # Common value of property is selectable in editor.
296
+ #
297
+ PG_PROP_USES_COMMON_VALUE = Wx::PG::PGPropertyFlags.new(131072)
298
+
299
+ # Property can be set to unspecified value via editor.
300
+ #
301
+ PG_PROP_AUTO_UNSPECIFIED = Wx::PG::PGPropertyFlags.new(262144)
302
+
303
+ # Indicates the bit usable by derived properties.
304
+ #
305
+ PG_PROP_CLASS_SPECIFIC_1 = Wx::PG::PGPropertyFlags.new(524288)
306
+
307
+ # Indicates the bit usable by derived properties.
308
+ #
309
+ PG_PROP_CLASS_SPECIFIC_2 = Wx::PG::PGPropertyFlags.new(1048576)
310
+
311
+ # Indicates that the property is being deleted and should be ignored.
312
+ #
313
+ PG_PROP_BEING_DELETED = Wx::PG::PGPropertyFlags.new(2097152)
314
+
315
+ end # PGPropertyFlags
948
316
 
949
- # Refresh values of child properties.
317
+ # {Wx::PG::PGProperty} is base class for all {Wx::PG::PropertyGrid} properties and as such it is not intended to be instantiated directly.
950
318
  #
951
- # Automatically called after value is set.
952
- # @return [void]
953
- def refresh_children; end
954
-
955
- # Reimplement this member function to add special handling for attributes of this property.
319
+ # In sections below we cover few related topics.
320
+ #
321
+ # - Supplied Ready-to-use Property Classes
322
+ #
323
+ # - Creating Custom Properties
324
+ #
325
+ # ## Supplied Ready-to-use Property Classes
326
+ # Here is a list and short description of supplied fully-functional property classes. They are located in either {Wx::props.h} or {Wx::advprops.h}.
327
+ #
328
+ # - {Wx::PG::ArrayStringProperty}
329
+ #
330
+ # - {Wx::PG::BoolProperty}
331
+ #
332
+ # - {Wx::PG::ColourProperty}
333
+ #
334
+ # - {Wx::PG::CursorProperty}
335
+ #
336
+ # - {Wx::PG::DateProperty}
337
+ #
338
+ # - {Wx::PG::DirProperty}
339
+ #
340
+ # - {Wx::PG::EditEnumProperty}
341
+ #
342
+ # - {Wx::PG::EnumProperty}
343
+ #
344
+ # - {Wx::PG::FileProperty}
345
+ #
346
+ # - {Wx::PG::FlagsProperty}
347
+ #
348
+ # - {Wx::PG::FloatProperty}
349
+ #
350
+ # - {Wx::PG::FontProperty}
351
+ #
352
+ # - {Wx::PG::ImageFileProperty}
353
+ #
354
+ # - {Wx::PG::IntProperty}
355
+ #
356
+ # - {Wx::PG::LongStringProperty}
357
+ #
358
+ # - {Wx::PG::MultiChoiceProperty}
956
359
  #
957
- # Return false to have the attribute automatically stored in m_attributes. Default implementation simply does that and nothing else.
958
- #
959
- # <div class="wxrb-remark">
960
- # <b>Remark:</b>
961
- # <p>To actually set property attribute values from the application, use {Wx::PG::PGProperty#set_attribute} instead.
962
- # </p>
963
- # </div>
964
- # @param name [String]
965
- # @param value [Wx::Variant]
966
- # @return [Boolean]
967
- def do_set_attribute(name, value) end
968
-
969
- # Returns value of an attribute.
360
+ # - {Wx::PG::PropertyCategory}
970
361
  #
971
- # Override if custom handling of attributes is needed.
972
- # Default implementation simply return NULL variant.
973
- # @param name [String]
974
- # @return [Wx::Variant]
975
- def do_get_attribute(name) end
976
-
977
- # Returns instance of a new {Wx::PG::PGEditorDialogAdapter} instance, which is used when user presses the (optional) button next to the editor control;.
362
+ # - {Wx::PG::StringProperty}
978
363
  #
979
- # Default implementation returns NULL (i.e. no action is generated when button is pressed).
980
- # @return [Wx::PG::PGEditorDialogAdapter]
981
- def get_editor_dialog; end
982
- alias_method :editor_dialog, :get_editor_dialog
983
-
984
- # Called whenever validation has failed with given pending value.
364
+ # - {Wx::PG::SystemColourProperty}
985
365
  #
986
- # <div class="wxrb-remark">
987
- # <b>Remark:</b>
988
- # <p>If you implement this in your custom property class, please remember to call the base implementation as well, since they may use it to revert property into pre-change state.
989
- # </p>
990
- # </div>
991
- # @param pendingValue [Wx::Variant]
992
- # @return [void]
993
- def on_validation_failure(pendingValue) end
994
-
995
- # Append a new choice to property's list of choices.
366
+ # - {Wx::PG::UIntProperty}
996
367
  #
997
- # Index to added choice.
998
- # @param label [String] Label for added choice.
999
- # @param value [Integer] Value for new choice. Do not specify if you wish this to equal choice index.
1000
- # @return [Integer]
1001
- def add_choice(label, value=Wx::PG::PG_INVALID_VALUE) end
1002
-
1003
- # Adds a private child property.
368
+ # ## wxPropertyCategory
369
+ # Not an actual property per se, but a header for a group of properties. Regardless inherits from {Wx::PG::PGProperty}, and supports displaying 'labels' for columns other than the first one. Easiest way to set category's label for second column is to call {Wx::PG::PGProperty#set_value} with string argument.
1004
370
  #
1005
- # If you use this instead of {Wx::PG::PropertyGridInterface#insert} or {Wx::PG::PropertyGridInterface#append_in}, then property's parental type will automatically be set up to {Wx::PG::PGPropertyFlags::PG_PROP_AGGREGATE}. In other words, all properties of this property will become private.
1006
- # @param prop [Wx::PG::PGProperty]
1007
- # @return [void]
1008
- def add_private_child(prop) end
1009
-
1010
- # Adapts list variant into proper value using consecutive {Wx::PG::PGProperty#child_changed} calls.
1011
- # @param list [Wx::Variant]
1012
- # @param value [Wx::Variant]
1013
- # @return [void]
1014
- def adapt_list_to_value(list, value) end
1015
-
1016
- # Use this member function to add independent (i.e.
371
+ # ## wxStringProperty
372
+ # Simple string property.
373
+ # Supported special attributes:
1017
374
  #
1018
- # regular) children to a property.
1019
- # Appended childProperty.
375
+ # - {Wx::PG::PG_STRING_PASSWORD}: Set to true in order to echo value as asterisks and to use {Wx::TE_PASSWORD} on the editor ({Wx::TextCtrl}).
376
+ # - {Wx::PG::PG_ATTR_AUTOCOMPLETE}: Set to true to enable auto-completion (use a {Wx::ArrayString} value), and is also supported by any property that happens to use a {Wx::TextCtrl}-based editor.
1020
377
  #
1021
378
  # <div class="wxrb-remark">
1022
379
  # <b>Remark:</b>
1023
- # <p>{Wx::PG::PropertyGrid} is not automatically refreshed by this function.
380
+ # <p>{Wx::PG::StringProperty} has a special trait: if it has value of "<composed>", and also has child properties, then its displayed value becomes composition of child property values, similar as with {Wx::PG::FontProperty}, for instance.
1024
381
  # </p>
1025
382
  # </div>
1026
- # @see Wx::PG::PGProperty#insert_child
1027
- # @see Wx::PG::PGProperty#add_private_child
1028
- # @param childProperty [Wx::PG::PGProperty]
1029
- # @return [Wx::PG::PGProperty]
1030
- def append_child(childProperty) end
1031
-
1032
- # Determines, recursively, if all children are not unspecified.
1033
- # @param pendingList [Wx::Variant] Assumes members in this {Wx::Variant} list as pending replacement values.
1034
- # @return [Boolean]
1035
- def are_all_children_specified(pendingList=nil) end
1036
-
1037
- # Returns true if children of this property are component values (for instance, points size, face name, and is_underlined are component values of a font).
1038
- # @return [Boolean]
1039
- def are_children_components; end
1040
-
1041
- # Sets or clears given property flag.
1042
383
  #
1043
- # Mainly for internal use.
384
+ # ## wxIntProperty
385
+ # It derives from {Wx::PG::NumericProperty} and displays value as a signed long integer. {Wx::PG::IntProperty} seamlessly supports 64-bit integers (i.e. {Wx::LongLong}) on overflow. To safely convert variant to integer, use code like this:
1044
386
  #
1045
- # <div class="wxrb-remark">
1046
- # <b>Remark:</b>
1047
- # <p>Setting a property flag never has any side-effect, and is intended almost exclusively for internal use. So, for example, if you want to disable a property, call
1048
- # ```ruby
1049
- # enable(false)
1050
387
  # ```
1051
- # instead of setting {Wx::PG::PGPropertyFlags::PG_PROP_DISABLED} flag.
1052
- # </p>
1053
- # </div>
1054
- # @see Wx::PG::PGProperty#has_flag
1055
- # @see GetFlags()
1056
- # @param flag [Wx::PGPropertyFlags]
1057
- # @param set [Boolean]
1058
- # @return [void]
1059
- def change_flag(flag, set) end
1060
-
1061
- # Deletes children of the property.
1062
- # @return [void]
1063
- def delete_children; end
1064
-
1065
- # Removes entry from property's {Wx::PG::PGChoices} and editor control (if it is active).
1066
- #
1067
- # If selected item is deleted, then the value is set to unspecified.
1068
- # @param index [Integer]
1069
- # @return [void]
1070
- def delete_choice(index) end
1071
-
1072
- # Enables or disables the property.
1073
- #
1074
- # Disabled property usually appears as having grey text.
1075
- # @see Wx::PG::PropertyGridInterface#enable_property
1076
- # @param enable [Boolean] If false, property is disabled instead.
1077
- # @return [void]
1078
- def enable(enable=true) end
1079
-
1080
- # Call to enable or disable usage of common value (integer value that can be selected for properties instead of their normal values) for this property.
388
+ # wxLongLong ll;
389
+ # ll << property->GetValue();
390
+ #
391
+ # // or
392
+ # wxLongLong ll = propertyGrid->GetPropertyValueAsLong(property);
393
+ # ```
1081
394
  #
1082
- # Common values are disabled by the default for all properties.
1083
- # @param enable [Boolean]
1084
- # @return [void]
1085
- def enable_common_value(enable=true) end
1086
-
1087
- # Composes text from values of child properties.
1088
- # @return [String]
1089
- def generate_composed_value; end
1090
-
1091
- # Returns property's label.
1092
- # @return [Wx::String]
1093
- def get_label; end
1094
- alias_method :label, :get_label
1095
-
1096
- # @overload get_attribute(name)
1097
- # Returns property attribute value, null variant if not found.
395
+ # Getting 64-bit value:
396
+ # ```
397
+ # wxLongLong_t value = pg->GetPropertyValueAsLongLong();
1098
398
  #
1099
- # <div class="wxrb-remark">
1100
- # <b>Remark:</b>
1101
- # <p>For built-in attribute returns null variant if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1102
- # </p>
1103
- # </div>
1104
- # @param name [String]
1105
- # @return [Wx::Variant]
1106
- # @overload get_attribute(name, defVal)
1107
- # Returns named attribute, as string, if found.
399
+ # // or
1108
400
  #
1109
- # Otherwise defVal is returned.
401
+ # wxLongLong value;
402
+ # wxVariant variant = property->GetValue();
403
+ # if ( variant.IsType(wxPG_VARIANT_TYPE_LONGLONG) )
404
+ # value = variant.GetLongLong();
405
+ # else
406
+ # value = variant.GetLong();
407
+ # ```
408
+ #
409
+ # Setting 64-bit value:
410
+ # ```
411
+ # pg->SetPropertyValue(longLongVal);
1110
412
  #
1111
- # <div class="wxrb-remark">
1112
- # <b>Remark:</b>
1113
- # <p>For built-in attribute returns defVal if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1114
- # </p>
1115
- # </div>
1116
- # @param name [String]
1117
- # @param defVal [String]
1118
- # @return [String]
1119
- def get_attribute(*args) end
1120
- alias_method :attribute, :get_attribute
1121
-
1122
- # Returns named attribute, as long, if found.
413
+ # // or
414
+ #
415
+ # property->SetValue(WXVARIANT(longLongVal));
416
+ # ```
1123
417
  #
1124
- # Otherwise defVal is returned.
418
+ # Supported special attributes:
1125
419
  #
1126
- # <div class="wxrb-remark">
1127
- # <b>Remark:</b>
1128
- # <p>For built-in attribute returns defVal if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1129
- # </p>
1130
- # </div>
1131
- # @param name [String]
1132
- # @param defVal [Integer]
1133
- # @return [Integer]
1134
- def get_attribute_as_long(name, defVal) end
1135
- alias_method :attribute_as_long, :get_attribute_as_long
1136
-
1137
- # Returns named attribute, as double, if found.
420
+ # - {Wx::PG::PG_ATTR_MIN}, {Wx::PG::PG_ATTR_MAX} to specify acceptable value range.
421
+ # - {Wx::PG::PG_ATTR_SPINCTRL_STEP}, {Wx::PG::PG_ATTR_SPINCTRL_WRAP}, {Wx::PG::PG_ATTR_SPINCTRL_MOTION}: Sets SpinCtrl editor parameters.
1138
422
  #
1139
- # Otherwise defVal is returned.
423
+ # ## wxUIntProperty
424
+ # Like {Wx::PG::IntProperty}, but displays value as unsigned int. To set the prefix used globally, manipulate {Wx::PG::PG_UINT_PREFIX} string attribute. To set the globally used base, manipulate {Wx::PG::PG_UINT_BASE} int attribute. Regardless of current prefix, understands (hex) values starting with both "0x" and "$" (apart from edit mode). Like {Wx::PG::IntProperty}, {Wx::PG::UIntProperty} seamlessly supports 64-bit unsigned integers (i.e. {Wx::ULongLong}). Same {Wx::Variant} safety rules apply.
425
+ # Supported special attributes:
1140
426
  #
1141
- # <div class="wxrb-remark">
1142
- # <b>Remark:</b>
1143
- # <p>For built-in attribute returns defVal if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1144
- # </p>
1145
- # </div>
1146
- # @param name [String]
1147
- # @param defVal [Float]
1148
- # @return [Float]
1149
- def get_attribute_as_double(name, defVal) end
1150
- alias_method :attribute_as_double, :get_attribute_as_double
1151
-
1152
- # Returns map-like storage of property's attributes.
427
+ # - {Wx::PG::PG_ATTR_MIN}, {Wx::PG::PG_ATTR_MAX}: Specifies acceptable value range.
428
+ # - {Wx::PG::PG_UINT_BASE}: Defines base. Valid constants are {Wx::PG::PG_BASE_OCT}, {Wx::PG::PG_BASE_DEC}, {Wx::PG::PG_BASE_HEX} and {Wx::PG::PG_BASE_HEXL} (lowercase characters). Arbitrary bases are <b>not</b> supported.
429
+ # - {Wx::PG::PG_UINT_PREFIX}: Defines displayed prefix. Possible values are {Wx::PG::PG_PREFIX_NONE}, {Wx::PG::PG_PREFIX_0x} and {Wx::PG::PG_PREFIX_DOLLAR_SIGN}. Only {Wx::PG::PG_PREFIX_NONE} works with decimal and octal numbers.
430
+ # - {Wx::PG::PG_ATTR_SPINCTRL_STEP}, {Wx::PG::PG_ATTR_SPINCTRL_WRAP}, {Wx::PG::PG_ATTR_SPINCTRL_MOTION}: Sets SpinCtrl editor parameters.
1153
431
  #
1154
432
  # <div class="wxrb-remark">
1155
433
  # <b>Remark:</b>
1156
- # <p>If extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set, then builtin-attributes are not included in the storage.
434
+ # <p>For example how to use seamless 64-bit integer support, see {Wx::PG::IntProperty} documentation (just use {Wx::ULongLong} instead of {Wx::LongLong}).
1157
435
  # </p>
1158
436
  # </div>
1159
- # @return [Wx::PGAttributeStorage]
1160
- def get_attributes; end
1161
- alias_method :attributes, :get_attributes
1162
-
1163
- # Returns attributes as list {Wx::Variant}.
1164
437
  #
1165
- # <div class="wxrb-remark">
1166
- # <b>Remark:</b>
1167
- # <p>If extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set, then builtin-attributes are not included in the list.
1168
- # </p>
1169
- # </div>
1170
- # @return [Wx::Variant]
1171
- def get_attributes_as_list; end
1172
- alias_method :attributes_as_list, :get_attributes_as_list
1173
-
1174
- # Returns editor used for given column.
438
+ # ## wxFloatProperty
439
+ # Like {Wx::PG::StringProperty}, but converts text to a double-precision floating point. Default float-to-text precision is 6 decimals, but this can be changed by modifying {Wx::PG::PG_FLOAT_PRECISION} attribute.
440
+ # Note that when displaying the value, sign is omitted if the resulting textual representation is effectively zero (for example, -0.0001 with precision of 3 will become 0.0 instead of -0.0). This behaviour is unlike what C standard library does, but should result in better end-user experience in almost all cases.
441
+ # Supported special attributes:
1175
442
  #
1176
- # NULL for no editor.
1177
- # @param column [Integer]
1178
- # @return [Wx::PG::PGEditor]
1179
- def get_column_editor(column) end
1180
- alias_method :column_editor, :get_column_editor
1181
-
1182
- # Returns property's base name (i.e.
443
+ # - {Wx::PG::PG_ATTR_MIN}, {Wx::PG::PG_ATTR_MAX}: Specifies acceptable value range.
444
+ # - {Wx::PG::PG_FLOAT_PRECISION}: Sets the (max) precision used when floating point value is rendered as text. The default -1 means shortest floating-point 6-digit representation.
445
+ # - {Wx::PG::PG_ATTR_SPINCTRL_STEP}, {Wx::PG::PG_ATTR_SPINCTRL_WRAP}, {Wx::PG::PG_ATTR_SPINCTRL_MOTION}: Sets SpinCtrl editor parameters.
1183
446
  #
1184
- # parent's name is not added in any case).
1185
- # @return [Wx::String]
1186
- def get_base_name; end
1187
- alias_method :base_name, :get_base_name
1188
-
1189
- # Returns {Wx::PG::PGCell} of given column.
447
+ # ## wxBoolProperty
448
+ # Represents a boolean value. {Wx::Choice} is used as editor control, by the default. {Wx::PG::PG_BOOL_USE_CHECKBOX} attribute can be set to true in order to use check box instead.
449
+ # Supported special attributes:
1190
450
  #
1191
- # <div class="wxrb-remark">
1192
- # <b>Remark:</b>
1193
- # <p>const version of this member function returns 'default' {Wx::PG::PGCell} object if the property itself didn't hold cell data.
1194
- # </p>
1195
- # </div>
1196
- # @param column [Integer]
1197
- # @return [Wx::PG::PGCell]
1198
- def get_cell_or_default(column) end
1199
- alias_method :cell_or_default, :get_cell_or_default
1200
-
1201
- # Returns {Wx::PG::PGCell} of given column, creating one if necessary.
1202
- # @param column [Integer]
1203
- # @return [Wx::PG::PGCell]
1204
- def get_cell(column) end
1205
- alias_method :cell, :get_cell
1206
-
1207
- # Returns number of child properties.
1208
- # @return [Integer]
1209
- def get_child_count; end
1210
- alias_method :child_count, :get_child_count
1211
-
1212
- # Returns height of children, recursively, and by taking expanded/collapsed status into account.
1213
- # @param lh [Integer] Line height. Pass result of {Wx::PG::PGProperty#get_grid}->GetRowHeight() here.
1214
- # @param iMax [Integer] Only used (internally) when finding property y-positions.
1215
- # @return [Integer]
1216
- def get_children_height(lh, iMax=-1) end
1217
- alias_method :children_height, :get_children_height
1218
-
1219
- # Returns read-only reference to property's list of choices.
1220
- # @return [Wx::PG::PGChoices]
1221
- def get_choices; end
1222
- alias_method :choices, :get_choices
1223
-
1224
- # Gets managed client object of a property.
1225
- # @return [Object]
1226
- def get_client_object; end
1227
- alias_method :client_object, :get_client_object
1228
-
1229
- # Returns property's default value.
451
+ # - {Wx::PG::PG_BOOL_USE_CHECKBOX}: If set to true uses check box editor instead of combo box.
452
+ # - {Wx::PG::PG_BOOL_USE_DOUBLE_CLICK_CYCLING}: If set to true cycles combo box instead showing the list.
1230
453
  #
1231
- # If property's value type is not a built-in one, and "DefaultValue" attribute is not defined, then this function usually returns Null variant.
1232
- # @return [Wx::Variant]
1233
- def get_default_value; end
1234
- alias_method :default_value, :get_default_value
1235
-
1236
- # Returns common value selected for this property.
454
+ # ## wxLongStringProperty
455
+ # Like {Wx::PG::StringProperty}, but has a button that triggers a small text editor dialog. Note that in long string values, some control characters are escaped: tab is represented by "\t", line break by "\n", carriage return by "\r" and backslash character by "\\". If another character is preceded
456
+ # by backslash, the backslash is skipped.
457
+ # Note also that depending on the system (port), some sequences of special
458
+ # characters, like e.g. "\r
1237
459
  #
1238
- # -1 for none.
1239
- # @return [Integer]
1240
- def get_common_value; end
1241
- alias_method :common_value, :get_common_value
1242
-
1243
- # @return [Integer]
1244
- def get_depth; end
1245
- alias_method :depth, :get_depth
1246
-
1247
- # Return number of displayed common values for this property.
1248
- # @return [Integer]
1249
- def get_displayed_common_value_count; end
1250
- alias_method :displayed_common_value_count, :get_displayed_common_value_count
1251
-
1252
- # Returns property's displayed text.
1253
- # @return [String]
1254
- def get_displayed_string; end
1255
- alias_method :displayed_string, :get_displayed_string
1256
-
1257
- # Returns {Wx::PG::PGEditor} that will be used and created when property becomes selected.
460
+ # ", can be interpreted and presented in
461
+ # a different way in the editor and therefore such sequences may not be
462
+ # the same before and after the edition.
1258
463
  #
1259
- # Returns more accurate value than {Wx::PG::PGProperty#do_get_editor_class}.
1260
- # @return [Wx::PG::PGEditor]
1261
- def get_editor_class; end
1262
- alias_method :editor_class, :get_editor_class
1263
-
1264
- # Returns property's hint text (shown in empty value cell).
1265
- # @return [String]
1266
- def get_hint_text; end
1267
- alias_method :hint_text, :get_hint_text
1268
-
1269
- # Returns property grid where property lies.
1270
- # @return [Wx::PG::PropertyGrid]
1271
- def get_grid; end
1272
- alias_method :grid, :get_grid
1273
-
1274
- # Returns owner {Wx::PG::PropertyGrid}, but only if one is currently on a page displaying this property.
1275
- # @return [Wx::PG::PropertyGrid]
1276
- def get_grid_if_displayed; end
1277
- alias_method :grid_if_displayed, :get_grid_if_displayed
1278
-
1279
- # Returns property's help or description text.
464
+ # To display a custom dialog on button press, you can subclass
465
+ # {Wx::PG::LongStringProperty} and override DisplayEditorDialog, like this:
1280
466
  #
467
+ # bool DisplayEditorDialog( {Wx::PG::PropertyGrid}* propGrid, {Wx::Variant}& value ) {Wx::OVERRIDE}
468
+ # {
469
+ # {Wx::Size} dialogSize(...size of your dialog...);
1281
470
  #
1282
- # @see Wx::PG::PGProperty#set_help_string
1283
- # @return [Wx::String]
1284
- def get_help_string; end
1285
- alias_method :help_string, :get_help_string
1286
-
1287
- # Gets flags as a'|' delimited string.
471
+ # {Wx::Point} dlgPos = propGrid->GetGoodEditorDialogPosition(this,
472
+ # dialogSize)
1288
473
  #
1289
- # Note that flag names are not prepended with '{Wx::PG_PROP_}'.
1290
- # @param flagsMask [Integer] String will only be made to include flags combined by this parameter.
1291
- # @return [String]
1292
- def get_flags_as_string(flagsMask) end
1293
- alias_method :flags_as_string, :get_flags_as_string
1294
-
1295
- # Returns position in parent's array.
1296
- # @return [Integer]
1297
- def get_index_in_parent; end
1298
- alias_method :index_in_parent, :get_index_in_parent
1299
-
1300
- # Returns last visible child property, recursively.
1301
- # @return [Wx::PG::PGProperty]
1302
- def get_last_visible_sub_item; end
1303
- alias_method :last_visible_sub_item, :get_last_visible_sub_item
1304
-
1305
- # Returns highest level non-category, non-root parent.
474
+ # // Create dialog dlg at dlgPos. Use value as initial string
475
+ # // value.
476
+ # ...
1306
477
  #
1307
- # Useful when you have nested properties with children.
478
+ # if ( dlg.ShowModal() == {Wx::StandardID::ID_OK} )
479
+ # {
480
+ # value = dlg.GetStringValue);
481
+ # return true;
482
+ # }
483
+ # return false;
484
+ # }
1308
485
  #
1309
- # <div class="wxrb-remark">
1310
- # <b>Remark:</b>
1311
- # <p>If immediate parent is root or category, this will return the property itself.
1312
- # </p>
1313
- # </div>
1314
- # @return [Wx::PG::PGProperty]
1315
- def get_main_parent; end
1316
- alias_method :main_parent, :get_main_parent
1317
-
1318
- # Returns maximum allowed length of the text the user can enter in the property text editor.
486
+ # Also, if you wish not to have line breaks and tabs translated to
487
+ # escape sequences, then do following in constructor of your subclass:
1319
488
  #
1320
- # <div class="wxrb-remark">
1321
- # <b>Remark:</b>
1322
- # <p>0 is returned if length is not explicitly limited and the text can be as long as it is supported by the underlying native text control widget.
1323
- # </p>
1324
- # </div>
1325
- # @return [Integer]
1326
- def get_max_length; end
1327
- alias_method :max_length, :get_max_length
1328
-
1329
- # Returns property's name with all (non-category, non-root) parents.
1330
- # @return [String]
1331
- def get_name; end
1332
- alias_method :name, :get_name
1333
-
1334
- # Return parent of property.
1335
- # @return [Wx::PG::PGProperty]
1336
- def get_parent; end
1337
- alias_method :parent, :get_parent
1338
-
1339
- # Returns (direct) child property with given name (or NULL if not found).
1340
- # @param name [String] Name of the child property to look for.
1341
- # @return [Wx::PG::PGProperty]
1342
- def get_property_by_name(name) end
1343
- alias_method :property_by_name, :get_property_by_name
1344
-
1345
- # Gets assignable version of property's validator.
1346
- # @return [Wx::Validator]
1347
- def get_validator; end
1348
- alias_method :validator, :get_validator
1349
-
1350
- # Returns property's value.
1351
- # @return [Wx::Variant]
1352
- def get_value; end
1353
- alias_method :value, :get_value
1354
-
1355
- # Returns bitmap that appears next to value text.
489
+ # m_flags |= {Wx::PG_PROP_NO_ESCAPE};
1356
490
  #
1357
- # Only returns non-NULL bitmap if one was set with {Wx::PG::PGProperty#set_value_image}.
1358
- # @return [Wx::Bitmap]
1359
- def get_value_image; end
1360
- alias_method :value_image, :get_value_image
1361
-
1362
- # Returns text representation of property's value.
491
+ # Supported special attributes:
492
+ # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the text editor dialog.
1363
493
  #
1364
- # <div class="wxrb-remark">
1365
- # <b>Remark:</b>
1366
- # <p>In older versions, this function used to be overridden to convert property's value into a string representation. This function is now handled by {Wx::PG::PGProperty#value_to_string}, and overriding this function now will result in run-time assertion failure.
1367
- # </p>
1368
- # </div>
1369
- # @param argFlags [Integer] If 0 (default value), then displayed string is returned. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable string value instead of displayable. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_EDITABLE_VALUE} is set, returns string value that must be editable in textctrl. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_COMPOSITE_FRAGMENT} is set, returns text that is appropriate to display as a part of string property's composite text representation.
1370
- # @return [String]
1371
- def get_value_as_string(argFlags=0) end
1372
- alias_method :value_as_string, :get_value_as_string
1373
-
1374
- # Returns value type used by this property.
1375
- # @return [String]
1376
- def get_value_type; end
1377
- alias_method :value_type, :get_value_type
1378
-
1379
- # Returns coordinate to the top y of the property.
494
+ # ## {Wx::PG::DirProperty}
1380
495
  #
1381
- # Note that the position of scrollbars is not taken into account.
1382
- # @return [Integer]
1383
- def get_y; end
1384
- alias_method :y, :get_y
1385
-
1386
- # Converts image width into full image offset, with margins.
1387
- # @param imageWidth [Integer]
1388
- # @return [Integer]
1389
- def get_image_offset(imageWidth) end
1390
- alias_method :image_offset, :get_image_offset
1391
-
1392
- # Returns property at given virtual y coordinate.
1393
- # @param y [Integer]
1394
- # @return [Wx::PG::PGProperty]
1395
- def get_item_at_y(y) end
1396
- alias_method :item_at_y, :get_item_at_y
1397
-
1398
- # @overload has_flag(flag)
1399
- # Returns true if property has given flag set.
1400
- #
1401
- #
1402
- # @see propgrid_propflags
1403
- # @param flag [Wx::PGPropertyFlags]
1404
- # @return [Boolean]
1405
- # @overload has_flag(flag)
1406
- # Returns true if property has given flag set.
1407
- # @param flag [Integer]
1408
- # @return [Boolean]
1409
- def has_flag(*args) end
1410
- alias_method :has_flag?, :has_flag
1411
-
1412
- # Returns true if property has all given flags set.
1413
- # @param flags [Integer]
1414
- # @return [Boolean]
1415
- def has_flags_exact(flags) end
1416
- alias_method :has_flags_exact?, :has_flags_exact
1417
-
1418
- # Returns true if property has even one visible child.
1419
- # @return [Boolean]
1420
- def has_visible_children; end
1421
- alias_method :has_visible_children?, :has_visible_children
1422
-
1423
- # Hides or reveals the property.
1424
- # @param hide [Boolean] true for hide, false for reveal.
1425
- # @param flags [Integer] By default changes are applied recursively. Set this parameter to {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_DONT_RECURSE} to prevent this.
1426
- # @return [Boolean]
1427
- def hide(hide, flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1428
-
1429
- # Returns index of given child property.
496
+ # Like {Wx::PG::LongStringProperty}, but the button triggers dir selector instead.
1430
497
  #
1431
- # {Wx::NOT_FOUND} if given property is not child of this.
1432
- # @param p [Wx::PG::PGProperty]
1433
- # @return [Integer]
1434
- def index(p) end
1435
-
1436
- # Use this member function to add independent (i.e.
498
+ # Supported special attributes:
499
+ # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets specific title for the dir selector.
1437
500
  #
1438
- # regular) children to a property.
1439
- # Inserted childProperty.
501
+ # ## {Wx::PG::FileProperty}
1440
502
  #
1441
- # <div class="wxrb-remark">
1442
- # <b>Remark:</b>
1443
- # <p>{Wx::PG::PropertyGrid} is not automatically refreshed by this function.
1444
- # </p>
1445
- # </div>
1446
- # @see Wx::PG::PGProperty#append_child
1447
- # @see Wx::PG::PGProperty#add_private_child
1448
- # @param index [Integer]
1449
- # @param childProperty [Wx::PG::PGProperty]
1450
- # @return [Wx::PG::PGProperty]
1451
- def insert_child(index, childProperty) end
1452
-
1453
- # Inserts a new choice to property's list of choices.
1454
- # @param label [String] Text for new choice
1455
- # @param index [Integer] Insertion position. Use {Wx::NOT_FOUND} to append.
1456
- # @param value [Integer] Value for new choice. Do not specify if you wish this to equal choice index.
1457
- # @return [Integer]
1458
- def insert_choice(label, index, value=Wx::PG::PG_INVALID_VALUE) end
1459
-
1460
- # Returns true if this property is actually a {Wx::PG::PropertyCategory}.
1461
- # @return [Boolean]
1462
- def is_category; end
1463
- alias_method :category?, :is_category
1464
-
1465
- # Returns true if property is enabled.
1466
- # @return [Boolean]
1467
- def is_enabled; end
1468
- alias_method :enabled?, :is_enabled
1469
-
1470
- # Returns true if property has visible children.
1471
- # @return [Boolean]
1472
- def is_expanded; end
1473
- alias_method :expanded?, :is_expanded
1474
-
1475
- # Returns true if this property is actually a {Wx::RootProperty}.
1476
- # @return [Boolean]
1477
- def is_root; end
1478
- alias_method :root?, :is_root
1479
-
1480
- # Returns true if this is a sub-property.
1481
- # @return [Boolean]
1482
- def is_sub_property; end
1483
- alias_method :sub_property?, :is_sub_property
1484
-
1485
- # Returns true if candidateParent is some parent of this property.
503
+ # Like {Wx::PG::LongStringProperty}, but the button triggers file selector instead.
504
+ # Default wildcard is "All files..." but this can be changed by setting
505
+ # ::{Wx::PG::PG_FILE_WILDCARD} attribute.
1486
506
  #
1487
- # Use, for example, to detect if item is inside collapsed section.
1488
- # @param candidateParent [Wx::PG::PGProperty]
1489
- # @return [Boolean]
1490
- def is_some_parent(candidateParent) end
1491
- alias_method :some_parent?, :is_some_parent
1492
-
1493
- # Returns true if property has editable {Wx::TextCtrl} when selected.
507
+ # Supported special attributes:
508
+ # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the file dialog.
509
+ # - ::{Wx::PG::PG_FILE_DIALOG_STYLE}: Sets a specific {Wx::FileDialog} style for the file dialog.
510
+ # - ::{Wx::PG::PG_FILE_WILDCARD}: Sets wildcard (see {Wx::FileDialog} for format details), "All files..." is default.
511
+ # - ::{Wx::PG::PG_FILE_SHOW_FULL_PATH}: Default <span class='literal'>true</span>. When <span class='literal'>false</span>, only the file name is shown
512
+ # (i.e. drive and directory are hidden).
513
+ # - ::{Wx::PG::PG_FILE_SHOW_RELATIVE_PATH}: If set, then the filename is shown relative to the
514
+ # given path string.
515
+ # - ::{Wx::PG::PG_FILE_INITIAL_PATH}: Sets the initial path of where to look for files.
1494
516
  #
1495
- # <div class="wxrb-remark">
1496
- # <b>Remark:</b>
1497
- # <p>Although disabled properties do not displayed editor, they still return true here as being disabled is considered a temporary condition (unlike being read-only or having limited editing enabled).
1498
- # </p>
1499
- # </div>
1500
- # @return [Boolean]
1501
- def is_text_editable; end
1502
- alias_method :text_editable?, :is_text_editable
1503
-
1504
- # Returns true if property's value is considered unspecified.
517
+ # ## {Wx::PG::EnumProperty}
1505
518
  #
1506
- # This usually means that value is Null variant.
1507
- # @return [Boolean]
1508
- def is_value_unspecified; end
1509
- alias_method :value_unspecified?, :is_value_unspecified
1510
-
1511
- # Returns true if all parents expanded.
1512
- # @return [Boolean]
1513
- def is_visible; end
1514
- alias_method :visible?, :is_visible
1515
-
1516
- # Returns child property at index i.
1517
- # @param i [Integer]
1518
- # @return [Wx::PG::PGProperty]
1519
- def item(i) end
1520
-
1521
- # Returns last sub-property.
1522
- # @return [Wx::PG::PGProperty]
1523
- def last; end
1524
-
1525
- # If property's editor is created this forces its recreation.
519
+ # Represents a single selection from a list of choices -
520
+ # {Wx::OwnerDrawnComboBox} is used to edit the value.
1526
521
  #
1527
- # Useful in SetAttribute etc. Returns true if actually did anything.
1528
- # @return [Boolean]
1529
- def recreate_editor; end
1530
-
1531
- # If property's editor is active, then update it's value.
1532
- # @return [void]
1533
- def refresh_editor; end
1534
-
1535
- # Sets an attribute for this property.
522
+ # ## {Wx::PG::FlagsProperty}
1536
523
  #
1537
- # <div class="wxrb-remark">
1538
- # <b>Remark:</b>
1539
- # <p>Setting attribute's value to Null variant will simply remove it from property's set of attributes.
1540
- # </p>
1541
- # </div>
1542
- # @param name [String] Text identifier of attribute. See wxPropertyGrid Property Attribute Identifiers.
1543
- # @param value [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue] Value of attribute.
1544
- # @return [void]
1545
- def set_attribute(name, value) end
1546
-
1547
- # @param attributes [Wx::PGAttributeStorage]
1548
- # @return [void]
1549
- def set_attributes(attributes) end
1550
-
1551
- # Set if user can change the property's value to unspecified by modifying the value of the editor control (usually by clearing it).
524
+ # Represents a bit set that fits in a long integer. {Wx::PG::BoolProperty} sub-
525
+ # properties are created for editing individual bits. Textctrl is created to
526
+ # manually edit the flags as a text; a continuous sequence of spaces, commas
527
+ # and semicolons are considered as a flag id separator.
1552
528
  #
1553
- # Currently, this can work with following properties: {Wx::PG::IntProperty}, {Wx::PG::UIntProperty}, {Wx::PG::FloatProperty}, {Wx::PG::EditEnumProperty}.
1554
- # @param enable [Boolean] Whether to enable or disable this behaviour (it is disabled by default).
1555
- # @return [void]
1556
- def set_auto_unspecified(enable=true) end
1557
- alias_method :auto_unspecified=, :set_auto_unspecified
1558
-
1559
- # Sets property's background colour.
529
+ # <b>Note:</b> When changing "choices" (i.e. flag labels) of {Wx::PG::FlagsProperty},
530
+ # you will need to use {Wx::PG::PGProperty#set_choices} - otherwise they will not
531
+ # get updated properly.
1560
532
  #
1561
- # <div class="wxrb-remark">
1562
- # <b>Remark:</b>
1563
- # <p>Unlike {Wx::PG::PropertyGridInterface#set_property_background_colour}, this does not automatically update the display.
1564
- # </p>
1565
- # </div>
1566
- # @param colour [Wx::Colour,String,Symbol] Background colour to use.
1567
- # @param flags [Integer] Default is {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE} which causes colour to be set recursively. Omit this flag to only set colour for the property in question and not any of its children.
1568
- # @return [void]
1569
- def set_background_colour(colour, flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1570
- alias_method :background_colour=, :set_background_colour
1571
-
1572
- # @overload set_editor(editor)
1573
- # Sets editor for a property.
1574
- #
1575
- # For custom editors, use pointer you received from {Wx::PG::PropertyGrid.register_editor_class}.
1576
- # @param editor [Wx::PG::PGEditor] For builtin editors, use {Wx::PGEditor_X}, where X is builtin editor's name (TextCtrl, Choice, etc. see {Wx::PG::PGEditor} documentation for full list).
1577
- # @return [void]
1578
- # @overload set_editor(editorName)
1579
- # Sets editor for a property, by editor name.
1580
- # @param editorName [String]
1581
- # @return [void]
1582
- def set_editor(*args) end
1583
- alias_method :editor=, :set_editor
1584
-
1585
- # Sets cell information for given column.
1586
- # @param column [Integer]
1587
- # @param cell [Wx::PG::PGCell]
1588
- # @return [void]
1589
- def set_cell(column, cell) end
1590
-
1591
- # Sets common value selected for this property.
533
+ # {Wx::PG::FlagsProperty} supports the same attributes as {Wx::PG::BoolProperty}.
1592
534
  #
1593
- # -1 for none.
1594
- # @param commonValue [Integer]
1595
- # @return [void]
1596
- def set_common_value(commonValue) end
1597
- alias_method :common_value=, :set_common_value
1598
-
1599
- # Sets new set of choices for the property.
535
+ # ## {Wx::PG::ArrayStringProperty}
1600
536
  #
1601
- # <div class="wxrb-remark">
1602
- # <b>Remark:</b>
1603
- # <p>This operation deselects the property and clears its value.
1604
- # </p>
1605
- # </div>
1606
- # @param choices [Wx::PG::PGChoices]
1607
- # @return [Boolean]
1608
- def set_choices(choices) end
1609
- alias_method :choices=, :set_choices
1610
-
1611
- # Sets client object of a property.
1612
- # @param clientObject [Object]
1613
- # @return [void]
1614
- def set_client_object(clientObject) end
1615
- alias_method :client_object=, :set_client_object
1616
-
1617
- # Sets selected choice and changes property value.
537
+ # Property that manages a list of strings. Allows editing of a list
538
+ # of strings in {Wx::TextCtrl} and in a separate dialog.
1618
539
  #
1619
- # Tries to retain value type, although currently if it is not string, then it is forced to integer.
1620
- # @param newValue [Integer]
1621
- # @return [void]
1622
- def set_choice_selection(newValue) end
1623
- alias_method :choice_selection=, :set_choice_selection
1624
-
1625
- # Set default value of a property.
540
+ # Supported special attributes:
541
+ # - ::{Wx::PG::PG_ARRAY_DELIMITER}: Sets string delimiter character.
542
+ # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the editor dialog.
543
+ # Default is comma (',').
1626
544
  #
1627
- # Synonymous to
545
+ # ## {Wx::PG::DateProperty}
1628
546
  #
1629
- # ```ruby
1630
- # set_attribute('DefaultValue', value)
1631
- # ```
1632
- # @param value [Wx::Variant]
1633
- # @return [void]
1634
- def set_default_value(value) end
1635
- alias_method :default_value=, :set_default_value
1636
-
1637
- # @param expanded [Boolean]
1638
- # @return [void]
1639
- def set_expanded(expanded) end
1640
- alias_method :expanded=, :set_expanded
1641
-
1642
- # Sets flags from a '|' delimited string.
547
+ # Property representing {Wx::DateTime}. Default editor is DatePickerCtrl,
548
+ # although TextCtrl should work as well.
1643
549
  #
1644
- # Note that flag names are not prepended with '{Wx::PG_PROP_}'.
1645
- # @param str [String]
1646
- # @return [void]
1647
- def set_flags_from_string(str) end
1648
- alias_method :flags_from_string=, :set_flags_from_string
1649
-
1650
- # Sets or clears given property flag, recursively.
1651
- #
1652
- # This function is primarily intended for internal use.
1653
- # @see Wx::PG::PGProperty#change_flag
1654
- # @param flag [Wx::PGPropertyFlags]
1655
- # @param set [Boolean]
1656
- # @return [void]
1657
- def set_flag_recursively(flag, set) end
1658
-
1659
- # Sets property's help string, which is shown, for example, in {Wx::PG::PropertyGridManager}'s description text box.
1660
- # @param helpString [String]
1661
- # @return [void]
1662
- def set_help_string(helpString) end
1663
- alias_method :help_string=, :set_help_string
1664
-
1665
- # Sets property's label.
550
+ # Supported special attributes:
551
+ # - ::{Wx::PG::PG_DATE_FORMAT}: Determines displayed date format (with Wx::DateTime::Format).
552
+ # Default is recommended as it is locale-dependent.
553
+ # - ::{Wx::PG::PG_DATE_PICKER_STYLE}: Determines window style used with {Wx::DatePickerCtrl}.
554
+ # Default is ::{Wx::DP_DEFAULT} | ::{Wx::DP_SHOWCENTURY}. Using ::{Wx::DP_ALLOWNONE}
555
+ # enables additional support for unspecified property value.
1666
556
  #
1667
- # <div class="wxrb-remark">
1668
- # <b>Remark:</b>
1669
- # <p>
557
+ # ## {Wx::PG::EditEnumProperty}
1670
558
  #
1671
- # - Properties under same parent may have same labels. However, property names must still remain unique.
1672
- # - Unlike {Wx::PG::PropertyGridInterface#set_property_label}, this does not automatically update the display.
559
+ # Represents a string that can be freely edited or selected from list of choices -
560
+ # custom combobox control is used to edit the value.
1673
561
  #
1674
- # </p>
1675
- # </div>
1676
- # @param label [String]
1677
- # @return [void]
1678
- def set_label(label) end
1679
- alias_method :label=, :set_label
1680
-
1681
- # Set maximum length of the text the user can enter in the text editor.
1682
- #
1683
- # If it is 0, the length is not limited and the text can be as long as it is supported by the underlying native text control widget.
1684
- # Returns true if maximum length was set.
1685
- # @param maxLen [Integer]
1686
- # @return [Boolean]
1687
- def set_max_length(maxLen) end
1688
- alias_method :max_length=, :set_max_length
1689
-
1690
- # Sets property's "is it modified?" flag.
562
+ # Uses int value, similar to {Wx::PG::EnumProperty}, unless text entered by user is
563
+ # is not in choices (in which case string value is used).
1691
564
  #
1692
- # Affects children recursively.
1693
- # @param modified [Boolean]
1694
- # @return [void]
1695
- def set_modified_status(modified) end
1696
- alias_method :modified_status=, :set_modified_status
1697
-
1698
- # Sets new (base) name for property.
1699
- # @param newName [String]
1700
- # @return [void]
1701
- def set_name(newName) end
1702
- alias_method :name=, :set_name
1703
-
1704
- # Changes what sort of parent this property is for its children.
565
+ # ## {Wx::PG::MultiChoiceProperty}
1705
566
  #
1706
- # <div class="wxrb-remark">
1707
- # <b>Remark:</b>
1708
- # <p>You generally do not need to call this function.
1709
- # </p>
1710
- # </div>
1711
- # @param flag [Integer] Use one of the following values: {Wx::PG::PGPropertyFlags::PG_PROP_MISC_PARENT} (for generic parents), {Wx::PG::PGPropertyFlags::PG_PROP_CATEGORY} (for categories), or {Wx::PG::PGPropertyFlags::PG_PROP_AGGREGATE} (for derived property classes with private children).
1712
- # @return [void]
1713
- def set_parental_type(flag) end
1714
- alias_method :parental_type=, :set_parental_type
1715
-
1716
- # Sets property's text colour.
567
+ # Allows editing a multiple selection from a list of strings. This is
568
+ # property is pretty much built around concept of {Wx::MultiChoiceDialog}.
569
+ # It uses {Wx::ArrayString} value.
1717
570
  #
1718
- # <div class="wxrb-remark">
1719
- # <b>Remark:</b>
1720
- # <p>Unlike {Wx::PG::PropertyGridInterface#set_property_text_colour}, this does not automatically update the display.
1721
- # </p>
1722
- # </div>
1723
- # @param colour [Wx::Colour,String,Symbol] Text colour to use.
1724
- # @param flags [Integer] Default is {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE} which causes colour to be set recursively. Omit this flag to only set colour for the property in question and not any of its children.
1725
- # @return [void]
1726
- def set_text_colour(colour, flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1727
- alias_method :text_colour=, :set_text_colour
1728
-
1729
- # Sets property's default text and background colours.
571
+ # Supported special attributes:
572
+ # - ::{Wx::PG::PG_ATTR_MULTICHOICE_USERSTRINGMODE}: If > 0, allows user to manually
573
+ # enter strings that are not in the list of choices. If this value is 1,
574
+ # user strings are preferably placed in front of valid choices. If value
575
+ # is 2, then those strings will placed behind valid choices.
576
+ # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the editor dialog.
1730
577
  #
1731
- # <div class="wxrb-remark">
1732
- # <b>Remark:</b>
1733
- # <p>Unlike {Wx::PG::PropertyGridInterface#set_property_colours_to_default}, this does not automatically update the display.
1734
- # </p>
1735
- # </div>
1736
- # @param flags [Integer] Default is {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE} which causes colours to be set recursively. Omit this flag to only set colours for the property in question and not any of its children.
1737
- # @return [void]
1738
- def set_default_colours(flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1739
- alias_method :default_colours=, :set_default_colours
1740
-
1741
- # Sets {Wx::Validator} for a property.
1742
- # @param validator [Wx::Validator]
1743
- # @return [void]
1744
- def set_validator(validator) end
1745
- alias_method :validator=, :set_validator
1746
-
1747
- # Call this to set value of the property.
578
+ # ## {Wx::PG::ImageFileProperty}
1748
579
  #
1749
- # Unlike methods in {Wx::PG::PropertyGrid}, this does not automatically update the display.
580
+ # Property representing image file(name). Like {Wx::PG::FileProperty},
581
+ # but has thumbnail of the image in front of the filename
582
+ # and autogenerates wildcard from available image handlers.
1750
583
  #
1751
- # <div class="wxrb-remark">
1752
- # <b>Remark:</b>
1753
- # <p>Use {Wx::PG::PropertyGrid#change_property_value} instead if you need to run through validation process and send property change event.
1754
- # </p>
1755
- # </div>
584
+ # Supported special attributes:
585
+ # - ::{Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the file dialog.
586
+ # - ::{Wx::PG::PG_FILE_DIALOG_STYLE}: Sets a specific {Wx::FileDialog} style for the file dialog.
587
+ # - ::{Wx::PG::PG_FILE_WILDCARD}: Sets wildcard (see {Wx::FileDialog} for format details), "All files..." is default.
1756
588
  #
1757
- # If you need to change property value in event, based on user input, use {Wx::PG::PGProperty#set_value_in_event} instead.
1758
- # @param value [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue] The value to set.
1759
- # @param pList [Wx::Variant] Pointer to list variant that contains child values. Used to indicate which children should be marked as modified. Usually you just use NULL.
1760
- # @param flags [Integer] {Wx::PG::PG_SETVALUE_FLAGS::PG_SETVAL_REFRESH_EDITOR} is set by default, to refresh editor and redraw properties.
1761
- # @return [void]
1762
- def set_value(value, pList=nil, flags=Wx::PG::PG_SETVALUE_FLAGS::PG_SETVAL_REFRESH_EDITOR) end
1763
- alias_method :value=, :set_value
1764
-
1765
- # Set {Wx::Bitmap} taken from {Wx::BitmapBundle} in front of the value.
589
+ # - {Wx::PG::PG_FILE_SHOW_FULL_PATH}: Default true. When false, only the file name is shown (i.e. drive and directory are hidden).
590
+ # - {Wx::PG::PG_FILE_SHOW_RELATIVE_PATH}: If set, then the filename is shown relative to the given path string.
591
+ # - {Wx::PG::PG_FILE_INITIAL_PATH}: Sets the initial path of where to look for files.
1766
592
  #
1767
- # This bitmap may be ignored by custom cell renderers.
1768
- # @param bmp [Wx::BitmapBundle]
1769
- # @return [void]
1770
- def set_value_image(bmp) end
1771
- alias_method :value_image=, :set_value_image
1772
-
1773
- # Call this function in {Wx::PG::PGProperty#on_event}, OnButtonClick() etc.
593
+ # ## wxColourProperty
594
+ # <b>Useful alternate editor:</b> Choice.
595
+ # Represents {Wx::Colour}. {Wx::Button} is used to trigger a colour picker dialog. There are various sub-classing opportunities with this class. See below in {Wx::PG::SystemColourProperty} section for details.
596
+ # Supported special attributes:
1774
597
  #
1775
- # to change the property value based on user input.
598
+ # - {Wx::PG::PG_COLOUR_HAS_ALPHA}: If set to true allows user to edit the alpha colour component.
1776
599
  #
1777
- # <div class="wxrb-remark">
1778
- # <b>Remark:</b>
1779
- # <p>This method is const since it doesn't actually modify value, but posts given variant as pending value, stored in {Wx::PG::PropertyGrid}.
1780
- # </p>
1781
- # </div>
1782
- # @param value [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue]
1783
- # @return [void]
1784
- def set_value_in_event(value) end
1785
- alias_method :value_in_event=, :set_value_in_event
1786
-
1787
- # Sets property's value to unspecified (i.e.
600
+ # ## wxFontProperty
601
+ # Represents {Wx::Font}. Various sub-properties are used to edit individual subvalues.
602
+ # Supported special attributes:
1788
603
  #
1789
- # Null variant).
1790
- # @return [void]
1791
- def set_value_to_unspecified; end
1792
-
1793
- # Call with false in {Wx::PG::PGProperty#on_set_value} to cancel value changes after all (i.e.
604
+ # - {Wx::PG::PG_DIALOG_TITLE}: Sets a specific title for the font dialog.
1794
605
  #
1795
- # cancel true returned by {Wx::PG::PGProperty#string_to_value} or {Wx::PG::PGProperty#int_to_value}).
1796
- # @param set [Boolean]
1797
- # @return [void]
1798
- def set_was_modified(set=true) end
1799
- alias_method :was_modified=, :set_was_modified
1800
-
1801
- # Updates composed values of parent non-category properties, recursively.
606
+ # ## wxSystemColourProperty
607
+ # Represents {Wx::Colour} and a system colour index. {Wx::Choice} is used to edit the value. Drop-down list has color images. Note that value type is {Wx::PG::ColourPropertyValue} instead of {Wx::Colour} (which {Wx::PG::ColourProperty} uses).
1802
608
  #
1803
- # Returns topmost property updated.
609
+ # In {Wx::PG::SystemColourProperty}, and its derived class {Wx::PG::ColourProperty}, there are various sub-classing features. To set a basic list of colour names, call {Wx::PG::PGProperty#set_choices}.
1804
610
  #
1805
- # <div class="wxrb-remark">
1806
- # <b>Remark:</b>
1807
- # <p>Must not call {Wx::PG::PGProperty#set_value} (as can be called in it).
1808
- # </p>
1809
- # </div>
1810
- # @return [Wx::PG::PGProperty]
1811
- def update_parent_values; end
1812
-
1813
- # Returns true if containing grid uses {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_AUTO_UNSPECIFIED_VALUES}.
1814
- # @return [Boolean]
1815
- def uses_auto_unspecified; end
1816
-
1817
- # Clear cells associated with property.
1818
- # @param ignoreWithFlags [Integer] Cells will not be cleared for properties having these flags set.
1819
- # @param recursively [Boolean] If true, apply this operation recursively in child properties.
1820
- # @return [void]
1821
- def clear_cells(ignoreWithFlags, recursively) end
1822
-
1823
- # Makes sure m_cells has size of column+1 (or more).
1824
- # @param column [Integer]
1825
- # @return [void]
1826
- def ensure_cells(column) end
1827
-
1828
- # Returns (direct) child property with given name (or NULL if not found), with hint index.
611
+ # ```ruby
612
+ # # Override in derived class to customize how colours are translated
613
+ # # to strings.
614
+ # def colour_to_string(col, index) end
1829
615
  #
1830
- # <div class="wxrb-remark">
1831
- # <b>Remark:</b>
1832
- # <p>Does not support scope (i.e. Parent.Child notation).
1833
- # </p>
1834
- # </div>
1835
- # @param name [String] Name of the child property to look for.
1836
- # @param hintIndex [Integer] Start looking for the child at this index.
1837
- # @return [Wx::PG::PGProperty]
1838
- def get_property_by_name_wh(name, hintIndex) end
1839
- alias_method :property_by_name_wh, :get_property_by_name_wh
1840
-
1841
- # Deletes all child properties.
1842
- # @return [void]
1843
- def empty; end
1844
-
1845
- # Returns true if child property is selected.
1846
- # @param recursive [Boolean]
1847
- # @return [Boolean]
1848
- def is_child_selected(recursive=false) end
1849
- alias_method :child_selected?, :is_child_selected
1850
-
616
+ # # Returns index of entry that triggers colour picker dialog
617
+ # # (default is last).
618
+ # def get_custom_colour_index; end
1851
619
  #
1852
- # @return [Wx::Variant]
1853
- def value_; end
620
+ # # Helper function to show the colour dialog
621
+ # def query_colour_from_user(variant) end
1854
622
  #
1855
- # @param val [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue]
1856
- # @return [void]
1857
- def value_=(val); end
1858
-
1859
-
1860
- protected
1861
-
1862
- # @overload initialize()
1863
- # Default constructor.
1864
- #
1865
- # It is protected because {Wx::PG::PGProperty} is only a base class for other property classes.
1866
- # @return [Wx::PG::PGProperty]
1867
- # @overload initialize(label, name)
1868
- # Constructor.
1869
- #
1870
- # It is protected because {Wx::PG::PGProperty} is only a base class for other property classes. Non-abstract property classes should have constructor of this style:
1871
- #
1872
- # ```ruby
1873
- # class WxPointProperty < Wx::PG::PGProperty
623
+ # # Returns colour for given choice.
624
+ # # Default function returns Wx::SystemSettings.get_colour(index).
625
+ # def get_colour(index) end
626
+ # ```
627
+ #
628
+ # ## wxCursorProperty
629
+ # Represents a {Wx::Cursor}. {Wx::Choice} is used to edit the value. Drop-down list has cursor images under some (WXMSW) platforms.
630
+ #
631
+ # ## Creating Custom Properties
632
+ # New properties can be created by subclassing {Wx::PG::PGProperty} or one of the provided property classes, and (re)implementing necessary member functions. Below, each virtual member function has ample documentation about its purpose and any odd details which to keep in mind.
633
+ # Here is a very simple 'template' code:
634
+ #
635
+ # ``` ruby
636
+ # class MyProperty < Wx::PG::PGProperty
1874
637
  #
1875
- # def initialize(label = Wx::PG::PG_LABEL, name = Wx::PG::PG_LABEL, value = Wx::Point.new)
638
+ # # All arguments of this ctor must have a default value -
639
+ # # use Wx::PG::PG_LABEL for label and name
640
+ # def initialize(label = Wx::PG::PG_LABEL, name = Wx::PG::PG_LABEL, value = '')
1876
641
  # super(label, name)
1877
- #
1878
- # # should work in pretty much 100% of cases
642
+ # # self.value is Wx::Variant
1879
643
  # self.value = value
644
+ # end
1880
645
  #
1881
- # # add private child properties
1882
- # add_private_child( Wx::PG::IntProperty.new("X", Wx::PG::PG_LABEL,value.x))
1883
- # add_private_child( Wx::PG::IntProperty.new("Y", Wx::PG::PG_LABEL,value.y))
646
+ # def do_get_editor_class
647
+ # # Determines editor used by property.
648
+ # # You can replace 'TEXT_CTRL' below with any of these
649
+ # # builtin-in property editor identifiers: CHOICE, COMBO_BOX,
650
+ # # TEXT_CTRL_AND_BUTTON, CHOICE_AND_BUTTON, CHECK_BOX, SPIN_CTRL,
651
+ # # DATE_PICKER_CTRL.
652
+ # return Wx::PG::PG_EDITOR_TEXT_CTRL
1884
653
  # end
1885
654
  #
1886
- # # ...
655
+ # def value_to_string(value, argFlags)
656
+ # # TODO: Convert given property value to a string
657
+ # end
1887
658
  #
1888
- # end
1889
- # ```
1890
- # @param label [String]
1891
- # @param name [String]
1892
- # @return [Wx::PG::PGProperty]
1893
- def initialize(*args) end
1894
-
1895
- end # PGProperty
1896
-
1897
- # Helper class for managing choices of {Wx::PG::PropertyGrid} properties.
1898
- #
1899
- # Each entry can have label, value, bitmap, text colour, and background colour.
1900
- # {Wx::PG::PGChoices} uses reference counting, similar to other wxWidgets classes. This means that assignment operator and copy constructor only copy the reference and not the actual data. Use {Wx::PG::PGChoices#copy} member function to create a real copy.
1901
- #
1902
- # <div class="wxrb-remark">
1903
- # <b>Remark:</b>
1904
- # <p>If you do not specify value for entry, index is used.
1905
- # </p>
1906
- # </div>
1907
- #
1908
- # Category: {Wx::PG::PropertyGrid}
1909
- #
1910
- #
1911
- # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
1912
- # @wxrb_require USE_PROPGRID
1913
- class PGChoices < ::Object
1914
-
1915
- # @overload initialize()
1916
- # Default constructor.
1917
- # @return [Wx::PG::PGChoices]
1918
- # @overload initialize(a)
1919
- # Copy constructor, uses reference counting.
659
+ # def string_to_value(variant, text, argFlags)
660
+ # # TODO: Adapt string to property value.
661
+ # end
1920
662
  #
1921
- # To create a real copy, use {Wx::PG::PGChoices#copy} member function instead.
1922
- # @param a [Wx::PG::PGChoices]
1923
- # @return [Wx::PG::PGChoices]
1924
- # @overload initialize(labels, values=(Wx::ArrayInt.new()))
1925
- # Constructor.
1926
- # @param labels [Array<String>] Labels for choices.
1927
- # @param values [Array<Integer>] Values for choices. If empty, indexes are used. Otherwise must have at least the same size as labels.
1928
- # @return [Wx::PG::PGChoices]
1929
- def initialize(*args) end
1930
-
1931
- # @overload add(arr, arrint)
1932
- # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1933
- # @param arr [Array<String>]
1934
- # @param arrint [Array<Integer>]
1935
- # @return [void]
1936
- # @overload add(label, value=Wx::PG::PG_INVALID_VALUE)
1937
- # Adds a single choice item.
1938
- # @param label [String] Label for added choice.
1939
- # @param value [Integer] Value for added choice. If unspecified, index is used.
1940
- # @return [Wx::PG::PGChoiceEntry]
1941
- # @overload add(label, bitmap, value=Wx::PG::PG_INVALID_VALUE)
1942
- # Adds a single item, with bitmap.
1943
- # @param label [String]
1944
- # @param bitmap [Wx::Bitmap]
1945
- # @param value [Integer]
1946
- # @return [Wx::PG::PGChoiceEntry]
1947
- # @overload add(entry)
1948
- # Adds a single item with full entry information.
1949
- # @param entry [Wx::PG::PGChoiceEntry]
1950
- # @return [Wx::PG::PGChoiceEntry]
1951
- def add(*args) end
1952
-
1953
- # Adds a single item, sorted.
1954
- # @param label [String]
1955
- # @param value [Integer]
1956
- # @return [Wx::PG::PGChoiceEntry]
1957
- def add_as_sorted(label, value=Wx::PG::PG_INVALID_VALUE) end
1958
-
1959
- # Assigns choices data, using reference counting.
1960
- #
1961
- # To create a real copy, use {Wx::PG::PGChoices#copy} member function instead.
1962
- # @param a [Wx::PG::PGChoices]
1963
- # @return [void]
1964
- def assign(a) end
1965
-
1966
- # Deletes all items.
1967
- # @return [void]
1968
- def clear; end
1969
-
1970
- # Returns a real copy of the choices.
1971
- # @return [Wx::PG::PGChoices]
1972
- def copy; end
1973
-
1974
- # @return [void]
1975
- def ensure_data; end
1976
-
1977
- # Returns label of item.
1978
- # @param ind [Integer]
1979
- # @return [Wx::String]
1980
- def get_label(ind) end
1981
- alias_method :label, :get_label
1982
-
1983
- # Returns number of items.
1984
- # @return [Integer]
1985
- def get_count; end
1986
- alias_method :count, :get_count
1987
-
1988
- # Returns value of item.
1989
- # @param ind [Integer]
1990
- # @return [Integer]
1991
- def get_value(ind) end
1992
- alias_method :value, :get_value
1993
-
1994
- # Returns array of values matching the given strings.
1995
- #
1996
- # Unmatching strings result in {Wx::PG::PG_INVALID_VALUE} entry in array.
1997
- # @param strings [Array<String>]
1998
- # @return [Array<Integer>]
1999
- def get_values_for_strings(strings) end
2000
- alias_method :values_for_strings, :get_values_for_strings
2001
-
2002
- # Returns array of indices matching given strings.
2003
- #
2004
- # Unmatching strings are added to 'unmatched', if not NULL.
2005
- # @param strings [Array<String>]
2006
- # @param unmatched [Array,nil]
2007
- # @return [Array<Integer>]
2008
- def get_indices_for_strings(strings, unmatched=nil) end
2009
- alias_method :indices_for_strings, :get_indices_for_strings
2010
-
2011
- # @overload index(label)
2012
- # Returns index of item with given label.
2013
- # @param label [String]
2014
- # @return [Integer]
2015
- # @overload index(val)
2016
- # Returns index of item with given value.
2017
- # @param val [Integer]
2018
- # @return [Integer]
2019
- def index(*args) end
2020
-
2021
- # @overload insert(label, index, value=Wx::PG::PG_INVALID_VALUE)
2022
- # Inserts a single item.
2023
- # @param label [String]
2024
- # @param index [Integer]
2025
- # @param value [Integer]
2026
- # @return [Wx::PG::PGChoiceEntry]
2027
- # @overload insert(entry, index)
2028
- # Inserts a single item with full entry information.
2029
- # @param entry [Wx::PG::PGChoiceEntry]
2030
- # @param index [Integer]
2031
- # @return [Wx::PG::PGChoiceEntry]
2032
- def insert(*args) end
2033
-
2034
- # Returns false if this is a constant empty set of choices, which should not be modified.
2035
- # @return [Boolean]
2036
- def is_ok; end
2037
- alias_method :ok?, :is_ok
2038
-
2039
- # Returns item at given index.
2040
- # @param i [Integer]
2041
- # @return [Wx::PG::PGChoiceEntry]
2042
- def item(i) end
2043
-
2044
- # Removes count items starting at position nIndex.
2045
- # @param nIndex [Integer]
2046
- # @param count [Integer]
2047
- # @return [void]
2048
- def remove_at(nIndex, count=1) end
2049
-
2050
- # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
2051
- # @param labels [Array<String>]
2052
- # @param values [Array<Integer>]
2053
- # @return [void]
2054
- def set(labels, values=(Wx::ArrayInt.new())) end
2055
-
2056
- # Creates exclusive copy of current choices.
2057
- # @return [void]
2058
- def alloc_exclusive; end
2059
-
2060
- # Returns array of choice labels.
2061
- # @return [Array<String>]
2062
- def get_labels; end
2063
- alias_method :labels, :get_labels
2064
-
2065
- # @overload [](i)
2066
- # @param i [Integer]
2067
- # @return [Wx::PG::PGChoiceEntry]
2068
- # @overload [](i)
2069
- # @param i [Integer]
2070
- # @return [Wx::PG::PGChoiceEntry]
2071
- def [](*args) end
2072
-
2073
- end # PGChoices
2074
-
2075
- # Contains information related to property's OnCustomPaint.
2076
- #
2077
- #
2078
- #
2079
- #
2080
- # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
2081
- # @wxrb_require USE_PROPGRID
2082
- class PGPaintData < ::Object
2083
-
2084
- # {Wx::PG::PropertyGrid}
2085
- #
2086
- #
2087
- # @return [Wx::PG::PropertyGrid]
2088
- def parent; end
2089
- # {Wx::PG::PropertyGrid}
2090
- #
2091
- #
2092
- # @param val [Wx::PG::PropertyGrid]
2093
- # @return [void]
2094
- def parent=(val); end
2095
-
2096
- # Normally -1, otherwise index to drop-down list item that has to be drawn.
2097
- #
2098
- #
2099
- # @return [Integer]
2100
- def choice_item; end
2101
- # Normally -1, otherwise index to drop-down list item that has to be drawn.
2102
- #
2103
- #
2104
- # @param val [Integer]
2105
- # @return [void]
2106
- def choice_item=(val); end
2107
-
2108
- # Set to drawn width in OnCustomPaint (optional).
2109
- #
2110
- #
2111
- # @return [Integer]
2112
- def drawn_width; end
2113
- # Set to drawn width in OnCustomPaint (optional).
2114
- #
2115
- #
2116
- # @param val [Integer]
2117
- # @return [void]
2118
- def drawn_width=(val); end
2119
-
2120
- # In a measure item call, set this to the height of item at m_choiceItem index.
2121
- #
663
+ # protected
664
+ # # ...
665
+ # end
666
+ # ```
2122
667
  #
2123
- # @return [Integer]
2124
- def drawn_height; end
2125
- # In a measure item call, set this to the height of item at m_choiceItem index.
668
+ # Category: {Wx::PG::PropertyGrid}
669
+ # @see wxPropertyGrid Property Attribute Identifiers
670
+ #
671
+ # @see wxPropertyGrid Property Attribute Identifiers
672
+ #
673
+ # @see wxPropertyGrid Property Attribute Identifiers
674
+ #
675
+ # @see wxPropertyGrid Property Attribute Identifiers
676
+ #
677
+ # @see wxPropertyGrid Property Attribute Identifiers
678
+ #
679
+ # @see wxPropertyGrid Property Attribute Identifiers
680
+ #
681
+ # @see wxPropertyGrid Property Attribute Identifiers
682
+ #
683
+ #
684
+ # @wxrb_require USE_PROPGRID
685
+ class PGProperty < Object
686
+
687
+ # This virtual function is called after m_value has been set.
688
+ #
689
+ # <div class="wxrb-remark">
690
+ # <b>Remark:</b>
691
+ # <p>
692
+ #
693
+ # - If m_value was set to Null variant (i.e. unspecified value), {Wx::PG::PGProperty#on_set_value} will not be called.
694
+ # - m_value may be of any variant type. Typically properties internally support only one variant type, and as such {Wx::PG::PGProperty#on_set_value} provides a good opportunity to convert supported values into internal type.
695
+ # - Default implementation does nothing.
696
+ #
697
+ # </p>
698
+ # </div>
699
+ # @return [void]
700
+ def on_set_value; end
701
+
702
+ # Override this to return something else than m_value as the value.
703
+ # @return [Wx::Variant]
704
+ def do_get_value; end
705
+
706
+ # Implement this function in derived class to check the value.
707
+ #
708
+ # Return true if it is ok. Returning false prevents property change events from occurring.
709
+ #
710
+ # <div class="wxrb-remark">
711
+ # <b>Remark:</b>
712
+ # <p>
713
+ #
714
+ # - Default implementation always returns true.
715
+ #
716
+ # </p>
717
+ # </div>
718
+ # @param value [Wx::Variant]
719
+ # @param validationInfo [Wx::PG::PGValidationInfo]
720
+ # @return [Boolean]
721
+ def validate_value(value, validationInfo) end
722
+
723
+ # Converts text into {Wx::Variant} value appropriate for this property.
724
+ #
725
+ # Returns true if resulting {Wx::Variant} value was different.
726
+ #
727
+ # <div class="wxrb-remark">
728
+ # <b>Remark:</b>
729
+ # <p>Default implementation converts semicolon delimited tokens into child values. Only works for properties with children.
730
+ # </p>
731
+ # </div>
732
+ #
733
+ # You might want to take into account that m_value is Null variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).
734
+ # @param variant [Wx::Variant] On function entry this is the old value (should not be {Wx::NullVariant} in normal cases). Translated value must be assigned back to it.
735
+ # @param text [String] Text to be translated into variant.
736
+ # @param argFlags [Integer] If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable value instead of displayable one (they may be different). If {Wx::PG::PG_MISC_ARG_FLAGS::PG_COMPOSITE_FRAGMENT} is set, text is interpreted as a part of composite property string value (as generated by {Wx::PG::PGProperty#value_to_string} called with this same flag).
737
+ # @return [Boolean]
738
+ def string_to_value(variant, text, argFlags=0) end
739
+
740
+ # Converts integer (possibly a choice selection) into {Wx::Variant} value appropriate for this property.
741
+ #
742
+ # Returns true if resulting {Wx::Variant} value was different.
743
+ #
744
+ # <div class="wxrb-remark">
745
+ # <b>Remark:</b>
746
+ # <p>
747
+ #
748
+ # - If property is not supposed to use choice or spinctrl or other editor with int-based value, it is not necessary to implement this method.
749
+ # - Default implementation simply assign given int to m_value.
750
+ # - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.
751
+ # - You might want to take into account that m_value is Mull variant if property value is unspecified (which is usually only case if you explicitly enabled that sort behaviour).
752
+ #
753
+ # </p>
754
+ # </div>
755
+ # @param variant [Wx::Variant] On function entry this is the old value (should not be {Wx::NullVariant} in normal cases). Translated value must be assigned back to it.
756
+ # @param number [Integer] Integer to be translated into variant.
757
+ # @param argFlags [Integer] If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable value instead of displayable one.
758
+ # @return [Boolean]
759
+ def int_to_value(variant, number, argFlags=0) end
760
+
761
+ # Converts property value into a text representation.
762
+ #
763
+ # <div class="wxrb-remark">
764
+ # <b>Remark:</b>
765
+ # <p>Default implementation calls {Wx::PG::PGProperty#generate_composed_value}.
766
+ # </p>
767
+ # </div>
768
+ # @param value [Wx::Variant] Value to be converted.
769
+ # @param argFlags [Integer] If 0 (default value), then displayed string is returned. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable string value instead of displayable. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_EDITABLE_VALUE} is set, returns string value that must be editable in textctrl. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_COMPOSITE_FRAGMENT} is set, returns text that is appropriate to display as a part of string property's composite text representation.
770
+ # @return [String]
771
+ def value_to_string(value, argFlags=0) end
772
+
773
+ # Converts string to a value, and if successful, calls {Wx::PG::PGProperty#set_value} on it.
774
+ #
775
+ # Default behaviour is to do nothing.
776
+ #
777
+ # true if value was changed.
778
+ # @param text [String] String to get the value from.
779
+ # @param flags [Integer] If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, the function sets complete, storable value instead of displayable one (they may be different). {Wx::PG::PG_MISC_ARG_FLAGS::PG_PROGRAMMATIC_VALUE} flag is used to indicate that value is being set programmatically (i.e. operation is not caused by user input). If {Wx::PG::PG_MISC_ARG_FLAGS::PG_REPORT_ERROR} is set, a special action should be performed if string couldn't have been successfully converted to the valid value (e.g. a special value can be set in this case).
780
+ # @return [Boolean]
781
+ def set_value_from_string(text, flags=Wx::PG::PG_MISC_ARG_FLAGS::PG_PROGRAMMATIC_VALUE) end
782
+ alias_method :value_from_string=, :set_value_from_string
783
+
784
+ # Converts integer to a value, and if successful, calls {Wx::PG::PGProperty#set_value} on it.
785
+ #
786
+ # Default behaviour is to do nothing.
787
+ #
788
+ # true if value was changed.
789
+ # @param value [Integer] Int to get the value from.
790
+ # @param flags [Integer] If has {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE}, then the value given is an actual value and not an index.
791
+ # @return [Boolean]
792
+ def set_value_from_int(value, flags=0) end
793
+ alias_method :value_from_int=, :set_value_from_int
794
+
795
+ # Returns size of the custom painted image in front of property.
796
+ #
797
+ # This method must be overridden to return non-default value if OnCustomPaint is to be called.
798
+ #
799
+ # <div class="wxrb-remark">
800
+ # <b>Remark:</b>
801
+ # <p>
802
+ #
803
+ # - Default behaviour is to return {size(0,0)}, which means no image.
804
+ # - Default image width or height is indicated with dimension -1.
805
+ # - You can also return {Wx::PG::PG_DEFAULT_IMAGE_SIZE} which equals {Wx::DEFAULT_SIZE}.
806
+ #
807
+ # </p>
808
+ # </div>
809
+ # @param item [Integer] Normally -1, but can be an index to the property's list of items.
810
+ # @return [Wx::Size]
811
+ def on_measure_image(item=-1) end
812
+
813
+ # Events received by editor widgets are processed here.
814
+ #
815
+ # Note that editor class usually processes most events. Some, such as button press events of TextCtrlAndButton class, can be handled here. Also, if custom handling for regular events is desired, then that can also be done (for example, {Wx::PG::SystemColourProperty} custom handles {Wx::EVT_CHOICE} to display colour picker dialog when 'custom' selection is made).
816
+ # If the event causes value to be changed, {Wx::PG::PGProperty#set_value_in_event} should be called to set the new value.
817
+ # The parameter event is the associated {Wx::Event}.
818
+ #
819
+ # Should
820
+ #
821
+ # return true if any changes in value should be reported.
822
+ #
823
+ # <div class="wxrb-remark">
824
+ # <b>Remark:</b>
825
+ # <p>
826
+ #
827
+ # - If property uses choice control, and displays a dialog on some choice items, then it is preferred to display that dialog in IntToValue instead of OnEvent.
828
+ #
829
+ # </p>
830
+ # </div>
831
+ # @param propgrid [Wx::PG::PropertyGrid]
832
+ # @param wnd_primary [Wx::Window]
833
+ # @param event [Wx::Event]
834
+ # @return [Boolean]
835
+ def on_event(propgrid, wnd_primary, event) end
836
+
837
+ # Called after value of a child property has been altered.
838
+ #
839
+ # Must return new value of the whole property (after any alterations warranted by child's new value).
840
+ # Note that this function is usually called at the time that value of this property, or given child property, is still pending for change, and as such, result of {Wx::PG::PGProperty#get_value} or m_value should not be relied on.
841
+ # Sample pseudo-code implementation:
842
+ #
843
+ # ```ruby
844
+ # class MyProperty < Wx::PG::FlagsProperty
845
+ #
846
+ # def child_changed(thisValue, childIndex, childValue)
847
+ # # Acquire reference to actual type of data stored in variant
848
+ # flags = thisValue.object;
849
+ # case childIndex
850
+ # when 0
851
+ # flags.sub_prop1 = childValue.to_i
852
+ # when 1
853
+ # flags.sub_prop2 = childValue.to_s
854
+ # # ...
855
+ # end
856
+ # # return altered data
857
+ # Wx::Variant.new(flags)
858
+ # end
859
+ #
860
+ # end
861
+ # ```
862
+ #
863
+ # Modified value of the whole property.
864
+ # @param thisValue [Wx::Variant] Value of this property. Changed value should be returned (in previous versions of {Wx::PG::PropertyGrid} it was only necessary to write value back to this argument).
865
+ # @param childIndex [Integer] Index of child changed (you can use Item(childIndex) to get child property).
866
+ # @param childValue [Wx::Variant] (Pending) value of the child property.
867
+ # @return [Wx::Variant]
868
+ def child_changed(thisValue, childIndex, childValue) end
869
+
870
+ # Returns pointer to an instance of used editor.
871
+ # @return [Wx::PG::PGEditor]
872
+ def do_get_editor_class; end
873
+
874
+ # Returns pointer to the {Wx::Validator} that should be used with the editor of this property (NULL for no validator).
875
+ #
876
+ # Setting validator explicitly via \#set_property_validator will override this.
877
+ # In most situations, code like this should work well:
878
+ #
879
+ # ```ruby
880
+ # class MyPropertyClass < Wx::PG::IntProperty
881
+ #
882
+ # class << self
883
+ # def validator
884
+ # @validator ||= MyValidator.new(...)
885
+ # end
886
+ # end
887
+ #
888
+ # # ...
889
+ #
890
+ # def do_get_validator
891
+ # MyPropertyClass.validator
892
+ # end
893
+ #
894
+ # # ...
895
+ #
896
+ # end
897
+ # ```
898
+ #
899
+ # <div class="wxrb-remark">
900
+ # <b>Remark:</b>
901
+ # <p>You can get common filename validator by returning {Wx::PG::FileProperty.get_class_validator}. {Wx::PG::DirProperty}, for example, uses it.
902
+ # </p>
903
+ # </div>
904
+ # @return [Wx::Validator]
905
+ def do_get_validator; end
906
+
907
+ # Override to paint an image in front of the property value text or drop-down list item (but only if {Wx::PG::PGProperty#on_measure_image} is overridden as well).
908
+ #
909
+ # If property's {Wx::PG::PGProperty#on_measure_image} returns size that has height != 0 but less than row height ( < 0 has special meanings), {Wx::PG::PropertyGrid} calls this method to draw a custom image in a limited area in front of the editor control or value text/graphics, and if control has drop-down list, then the image is drawn there as well (even in the case {Wx::PG::PGProperty#on_measure_image} returned higher height than row height).
910
+ # NOTE: Following applies when {Wx::PG::PGProperty#on_measure_image} returns a "flexible" height ( using <code>wxPG_FLEXIBLE_SIZE(W,H)</code> macro), which implies variable height items: If (rect.x+rect.width) is < 0, then this is a measure item call, which means that dc is invalid and only thing that should be done is to set paintdata.m_drawnHeight to the height of the image of item at index paintdata.m_choiceItem. This call may be done even as often as once every drop-down popup show.
911
+ #
912
+ # <div class="wxrb-remark">
913
+ # <b>Remark:</b>
914
+ # <p>
915
+ #
916
+ # - You can actually exceed rect width, but if you do so then paintdata.m_drawnWidth must be set to the full width drawn in pixels.
917
+ # - Due to technical reasons, rect's height will be default even if custom height was reported during measure call.
918
+ # - Brush is guaranteed to be default background colour. It has been already used to clear the background of area being painted. It can be modified.
919
+ # - Pen is guaranteed to be 1-wide 'black' (or whatever is the proper colour) pen for drawing framing rectangle. It can be changed as well.
920
+ #
921
+ # </p>
922
+ # </div>
923
+ # @see Wx::PG::PGProperty#value_to_string
924
+ # @param dc [Wx::DC] {Wx::DC} to paint on.
925
+ # @param rect [Wx::Rect] Box reserved for custom graphics. Includes surrounding rectangle, if any. If x+width is < 0, then this is a measure item call (see above).
926
+ # @param paintdata [Wx::PG::PGPaintData] {Wx::PG::PGPaintData} structure with much useful data about painted item.
927
+ # @return [void]
928
+ def on_custom_paint(dc, rect, paintdata) end
929
+
930
+ # Returns which choice is currently selected.
931
+ #
932
+ # Only applies to properties which have choices.
933
+ # Needs to reimplemented in derived class if property value does not map directly to a choice. Integer as index, bool, and string usually do.
934
+ # @return [Integer]
935
+ def get_choice_selection; end
936
+ alias_method :choice_selection, :get_choice_selection
937
+
938
+ # Refresh values of child properties.
939
+ #
940
+ # Automatically called after value is set.
941
+ # @return [void]
942
+ def refresh_children; end
943
+
944
+ # Reimplement this member function to add special handling for attributes of this property.
945
+ #
946
+ # Return false to have the attribute automatically stored in m_attributes. Default implementation simply does that and nothing else.
947
+ #
948
+ # <div class="wxrb-remark">
949
+ # <b>Remark:</b>
950
+ # <p>To actually set property attribute values from the application, use {Wx::PG::PGProperty#set_attribute} instead.
951
+ # </p>
952
+ # </div>
953
+ # @param name [String]
954
+ # @param value [Wx::Variant]
955
+ # @return [Boolean]
956
+ def do_set_attribute(name, value) end
957
+
958
+ # Returns value of an attribute.
959
+ #
960
+ # Override if custom handling of attributes is needed.
961
+ # Default implementation simply return NULL variant.
962
+ # @param name [String]
963
+ # @return [Wx::Variant]
964
+ def do_get_attribute(name) end
965
+
966
+ # Returns instance of a new {Wx::PG::PGEditorDialogAdapter} instance, which is used when user presses the (optional) button next to the editor control;.
967
+ #
968
+ # Default implementation returns NULL (i.e. no action is generated when button is pressed).
969
+ # @return [Wx::PG::PGEditorDialogAdapter]
970
+ def get_editor_dialog; end
971
+ alias_method :editor_dialog, :get_editor_dialog
972
+
973
+ # Called whenever validation has failed with given pending value.
974
+ #
975
+ # <div class="wxrb-remark">
976
+ # <b>Remark:</b>
977
+ # <p>If you implement this in your custom property class, please remember to call the base implementation as well, since they may use it to revert property into pre-change state.
978
+ # </p>
979
+ # </div>
980
+ # @param pendingValue [Wx::Variant]
981
+ # @return [void]
982
+ def on_validation_failure(pendingValue) end
983
+
984
+ # Append a new choice to property's list of choices.
985
+ #
986
+ # Index to added choice.
987
+ # @param label [String] Label for added choice.
988
+ # @param value [Integer] Value for new choice. Do not specify if you wish this to equal choice index.
989
+ # @return [Integer]
990
+ def add_choice(label, value=Wx::PG::PG_INVALID_VALUE) end
991
+
992
+ # Adds a private child property.
993
+ #
994
+ # If you use this instead of {Wx::PG::PropertyGridInterface#insert} or {Wx::PG::PropertyGridInterface#append_in}, then property's parental type will automatically be set up to {Wx::PG::PGPropertyFlags::PG_PROP_AGGREGATE}. In other words, all properties of this property will become private.
995
+ # @param prop [Wx::PG::PGProperty]
996
+ # @return [void]
997
+ def add_private_child(prop) end
998
+
999
+ # Adapts list variant into proper value using consecutive {Wx::PG::PGProperty#child_changed} calls.
1000
+ # @param list [Wx::Variant]
1001
+ # @param value [Wx::Variant]
1002
+ # @return [void]
1003
+ def adapt_list_to_value(list, value) end
1004
+
1005
+ # Use this member function to add independent (i.e.
1006
+ #
1007
+ # regular) children to a property.
1008
+ # Appended childProperty.
1009
+ #
1010
+ # <div class="wxrb-remark">
1011
+ # <b>Remark:</b>
1012
+ # <p>{Wx::PG::PropertyGrid} is not automatically refreshed by this function.
1013
+ # </p>
1014
+ # </div>
1015
+ # @see Wx::PG::PGProperty#insert_child
1016
+ # @see Wx::PG::PGProperty#add_private_child
1017
+ # @param childProperty [Wx::PG::PGProperty]
1018
+ # @return [Wx::PG::PGProperty]
1019
+ def append_child(childProperty) end
1020
+
1021
+ # Determines, recursively, if all children are not unspecified.
1022
+ # @param pendingList [Wx::Variant] Assumes members in this {Wx::Variant} list as pending replacement values.
1023
+ # @return [Boolean]
1024
+ def are_all_children_specified(pendingList=nil) end
1025
+
1026
+ # Returns true if children of this property are component values (for instance, points size, face name, and is_underlined are component values of a font).
1027
+ # @return [Boolean]
1028
+ def are_children_components; end
1029
+
1030
+ # Sets or clears given property flag.
1031
+ #
1032
+ # Mainly for internal use.
1033
+ #
1034
+ # <div class="wxrb-remark">
1035
+ # <b>Remark:</b>
1036
+ # <p>Setting a property flag never has any side-effect, and is intended almost exclusively for internal use. So, for example, if you want to disable a property, call
1037
+ # ```ruby
1038
+ # enable(false)
1039
+ # ```
1040
+ # instead of setting {Wx::PG::PGPropertyFlags::PG_PROP_DISABLED} flag.
1041
+ # </p>
1042
+ # </div>
1043
+ # @see Wx::PG::PGProperty#has_flag
1044
+ # @see GetFlags()
1045
+ # @param flag [Wx::PGPropertyFlags]
1046
+ # @param set [Boolean]
1047
+ # @return [void]
1048
+ def change_flag(flag, set) end
1049
+
1050
+ # Deletes children of the property.
1051
+ # @return [void]
1052
+ def delete_children; end
1053
+
1054
+ # Removes entry from property's {Wx::PG::PGChoices} and editor control (if it is active).
1055
+ #
1056
+ # If selected item is deleted, then the value is set to unspecified.
1057
+ # @param index [Integer]
1058
+ # @return [void]
1059
+ def delete_choice(index) end
1060
+
1061
+ # Enables or disables the property.
1062
+ #
1063
+ # Disabled property usually appears as having grey text.
1064
+ # @see Wx::PG::PropertyGridInterface#enable_property
1065
+ # @param enable [Boolean] If false, property is disabled instead.
1066
+ # @return [void]
1067
+ def enable(enable=true) end
1068
+
1069
+ # Call to enable or disable usage of common value (integer value that can be selected for properties instead of their normal values) for this property.
1070
+ #
1071
+ # Common values are disabled by the default for all properties.
1072
+ # @param enable [Boolean]
1073
+ # @return [void]
1074
+ def enable_common_value(enable=true) end
1075
+
1076
+ # Composes text from values of child properties.
1077
+ # @return [String]
1078
+ def generate_composed_value; end
1079
+
1080
+ # Returns property's label.
1081
+ # @return [Wx::String]
1082
+ def get_label; end
1083
+ alias_method :label, :get_label
1084
+
1085
+ # @overload get_attribute(name)
1086
+ # Returns property attribute value, null variant if not found.
1087
+ #
1088
+ # <div class="wxrb-remark">
1089
+ # <b>Remark:</b>
1090
+ # <p>For built-in attribute returns null variant if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1091
+ # </p>
1092
+ # </div>
1093
+ # @param name [String]
1094
+ # @return [Wx::Variant]
1095
+ # @overload get_attribute(name, defVal)
1096
+ # Returns named attribute, as string, if found.
1097
+ #
1098
+ # Otherwise defVal is returned.
1099
+ #
1100
+ # <div class="wxrb-remark">
1101
+ # <b>Remark:</b>
1102
+ # <p>For built-in attribute returns defVal if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1103
+ # </p>
1104
+ # </div>
1105
+ # @param name [String]
1106
+ # @param defVal [String]
1107
+ # @return [String]
1108
+ def get_attribute(*args) end
1109
+ alias_method :attribute, :get_attribute
1110
+
1111
+ # Returns named attribute, as long, if found.
1112
+ #
1113
+ # Otherwise defVal is returned.
1114
+ #
1115
+ # <div class="wxrb-remark">
1116
+ # <b>Remark:</b>
1117
+ # <p>For built-in attribute returns defVal if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1118
+ # </p>
1119
+ # </div>
1120
+ # @param name [String]
1121
+ # @param defVal [Integer]
1122
+ # @return [Integer]
1123
+ def get_attribute_as_long(name, defVal) end
1124
+ alias_method :attribute_as_long, :get_attribute_as_long
1125
+
1126
+ # Returns named attribute, as double, if found.
1127
+ #
1128
+ # Otherwise defVal is returned.
1129
+ #
1130
+ # <div class="wxrb-remark">
1131
+ # <b>Remark:</b>
1132
+ # <p>For built-in attribute returns defVal if extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set.
1133
+ # </p>
1134
+ # </div>
1135
+ # @param name [String]
1136
+ # @param defVal [Float]
1137
+ # @return [Float]
1138
+ def get_attribute_as_double(name, defVal) end
1139
+ alias_method :attribute_as_double, :get_attribute_as_double
1140
+
1141
+ # Returns map-like storage of property's attributes.
1142
+ #
1143
+ # <div class="wxrb-remark">
1144
+ # <b>Remark:</b>
1145
+ # <p>If extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set, then builtin-attributes are not included in the storage.
1146
+ # </p>
1147
+ # </div>
1148
+ # @return [Wx::PGAttributeStorage]
1149
+ def get_attributes; end
1150
+ alias_method :attributes, :get_attributes
1151
+
1152
+ # Returns attributes as list {Wx::Variant}.
1153
+ #
1154
+ # <div class="wxrb-remark">
1155
+ # <b>Remark:</b>
1156
+ # <p>If extra style {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_WRITEONLY_BUILTIN_ATTRIBUTES} is set, then builtin-attributes are not included in the list.
1157
+ # </p>
1158
+ # </div>
1159
+ # @return [Wx::Variant]
1160
+ def get_attributes_as_list; end
1161
+ alias_method :attributes_as_list, :get_attributes_as_list
1162
+
1163
+ # Returns editor used for given column.
1164
+ #
1165
+ # NULL for no editor.
1166
+ # @param column [Integer]
1167
+ # @return [Wx::PG::PGEditor]
1168
+ def get_column_editor(column) end
1169
+ alias_method :column_editor, :get_column_editor
1170
+
1171
+ # Returns property's base name (i.e.
1172
+ #
1173
+ # parent's name is not added in any case).
1174
+ # @return [Wx::String]
1175
+ def get_base_name; end
1176
+ alias_method :base_name, :get_base_name
1177
+
1178
+ # Returns {Wx::PG::PGCell} of given column.
1179
+ #
1180
+ # <div class="wxrb-remark">
1181
+ # <b>Remark:</b>
1182
+ # <p>const version of this member function returns 'default' {Wx::PG::PGCell} object if the property itself didn't hold cell data.
1183
+ # </p>
1184
+ # </div>
1185
+ # @param column [Integer]
1186
+ # @return [Wx::PG::PGCell]
1187
+ def get_cell_or_default(column) end
1188
+ alias_method :cell_or_default, :get_cell_or_default
1189
+
1190
+ # Returns {Wx::PG::PGCell} of given column, creating one if necessary.
1191
+ # @param column [Integer]
1192
+ # @return [Wx::PG::PGCell]
1193
+ def get_cell(column) end
1194
+ alias_method :cell, :get_cell
1195
+
1196
+ # Returns number of child properties.
1197
+ # @return [Integer]
1198
+ def get_child_count; end
1199
+ alias_method :child_count, :get_child_count
1200
+
1201
+ # Returns height of children, recursively, and by taking expanded/collapsed status into account.
1202
+ # @param lh [Integer] Line height. Pass result of {Wx::PG::PGProperty#get_grid}->GetRowHeight() here.
1203
+ # @param iMax [Integer] Only used (internally) when finding property y-positions.
1204
+ # @return [Integer]
1205
+ def get_children_height(lh, iMax=-1) end
1206
+ alias_method :children_height, :get_children_height
1207
+
1208
+ # Returns read-only reference to property's list of choices.
1209
+ # @return [Wx::PG::PGChoices]
1210
+ def get_choices; end
1211
+ alias_method :choices, :get_choices
1212
+
1213
+ # Gets managed client object of a property.
1214
+ # @return [Object]
1215
+ def get_client_object; end
1216
+ alias_method :client_object, :get_client_object
1217
+
1218
+ # Returns property's default value.
1219
+ #
1220
+ # If property's value type is not a built-in one, and "DefaultValue" attribute is not defined, then this function usually returns Null variant.
1221
+ # @return [Wx::Variant]
1222
+ def get_default_value; end
1223
+ alias_method :default_value, :get_default_value
1224
+
1225
+ # Returns common value selected for this property.
1226
+ #
1227
+ # -1 for none.
1228
+ # @return [Integer]
1229
+ def get_common_value; end
1230
+ alias_method :common_value, :get_common_value
1231
+
1232
+ # @return [Integer]
1233
+ def get_depth; end
1234
+ alias_method :depth, :get_depth
1235
+
1236
+ # Return number of displayed common values for this property.
1237
+ # @return [Integer]
1238
+ def get_displayed_common_value_count; end
1239
+ alias_method :displayed_common_value_count, :get_displayed_common_value_count
1240
+
1241
+ # Returns property's displayed text.
1242
+ # @return [String]
1243
+ def get_displayed_string; end
1244
+ alias_method :displayed_string, :get_displayed_string
1245
+
1246
+ # Returns {Wx::PG::PGEditor} that will be used and created when property becomes selected.
1247
+ #
1248
+ # Returns more accurate value than {Wx::PG::PGProperty#do_get_editor_class}.
1249
+ # @return [Wx::PG::PGEditor]
1250
+ def get_editor_class; end
1251
+ alias_method :editor_class, :get_editor_class
1252
+
1253
+ # Returns property's hint text (shown in empty value cell).
1254
+ # @return [String]
1255
+ def get_hint_text; end
1256
+ alias_method :hint_text, :get_hint_text
1257
+
1258
+ # Returns property grid where property lies.
1259
+ # @return [Wx::PG::PropertyGrid]
1260
+ def get_grid; end
1261
+ alias_method :grid, :get_grid
1262
+
1263
+ # Returns owner {Wx::PG::PropertyGrid}, but only if one is currently on a page displaying this property.
1264
+ # @return [Wx::PG::PropertyGrid]
1265
+ def get_grid_if_displayed; end
1266
+ alias_method :grid_if_displayed, :get_grid_if_displayed
1267
+
1268
+ # Returns property's help or description text.
1269
+ #
1270
+ #
1271
+ # @see Wx::PG::PGProperty#set_help_string
1272
+ # @return [Wx::String]
1273
+ def get_help_string; end
1274
+ alias_method :help_string, :get_help_string
1275
+
1276
+ # Gets flags as a'|' delimited string.
1277
+ #
1278
+ # Note that flag names are not prepended with '{Wx::PG_PROP_}'.
1279
+ # @param flagsMask [Integer] String will only be made to include flags combined by this parameter.
1280
+ # @return [String]
1281
+ def get_flags_as_string(flagsMask) end
1282
+ alias_method :flags_as_string, :get_flags_as_string
1283
+
1284
+ # Returns position in parent's array.
1285
+ # @return [Integer]
1286
+ def get_index_in_parent; end
1287
+ alias_method :index_in_parent, :get_index_in_parent
1288
+
1289
+ # Returns last visible child property, recursively.
1290
+ # @return [Wx::PG::PGProperty]
1291
+ def get_last_visible_sub_item; end
1292
+ alias_method :last_visible_sub_item, :get_last_visible_sub_item
1293
+
1294
+ # Returns highest level non-category, non-root parent.
1295
+ #
1296
+ # Useful when you have nested properties with children.
1297
+ #
1298
+ # <div class="wxrb-remark">
1299
+ # <b>Remark:</b>
1300
+ # <p>If immediate parent is root or category, this will return the property itself.
1301
+ # </p>
1302
+ # </div>
1303
+ # @return [Wx::PG::PGProperty]
1304
+ def get_main_parent; end
1305
+ alias_method :main_parent, :get_main_parent
1306
+
1307
+ # Returns maximum allowed length of the text the user can enter in the property text editor.
1308
+ #
1309
+ # <div class="wxrb-remark">
1310
+ # <b>Remark:</b>
1311
+ # <p>0 is returned if length is not explicitly limited and the text can be as long as it is supported by the underlying native text control widget.
1312
+ # </p>
1313
+ # </div>
1314
+ # @return [Integer]
1315
+ def get_max_length; end
1316
+ alias_method :max_length, :get_max_length
1317
+
1318
+ # Returns property's name with all (non-category, non-root) parents.
1319
+ # @return [String]
1320
+ def get_name; end
1321
+ alias_method :name, :get_name
1322
+
1323
+ # Return parent of property.
1324
+ # @return [Wx::PG::PGProperty]
1325
+ def get_parent; end
1326
+ alias_method :parent, :get_parent
1327
+
1328
+ # Returns (direct) child property with given name (or NULL if not found).
1329
+ # @param name [String] Name of the child property to look for.
1330
+ # @return [Wx::PG::PGProperty]
1331
+ def get_property_by_name(name) end
1332
+ alias_method :property_by_name, :get_property_by_name
1333
+
1334
+ # Gets assignable version of property's validator.
1335
+ # @return [Wx::Validator]
1336
+ def get_validator; end
1337
+ alias_method :validator, :get_validator
1338
+
1339
+ # Returns property's value.
1340
+ # @return [Wx::Variant]
1341
+ def get_value; end
1342
+ alias_method :value, :get_value
1343
+
1344
+ # Returns bitmap that appears next to value text.
1345
+ #
1346
+ # Only returns non-NULL bitmap if one was set with {Wx::PG::PGProperty#set_value_image}.
1347
+ # @return [Wx::Bitmap]
1348
+ def get_value_image; end
1349
+ alias_method :value_image, :get_value_image
1350
+
1351
+ # Returns text representation of property's value.
1352
+ #
1353
+ # <div class="wxrb-remark">
1354
+ # <b>Remark:</b>
1355
+ # <p>In older versions, this function used to be overridden to convert property's value into a string representation. This function is now handled by {Wx::PG::PGProperty#value_to_string}, and overriding this function now will result in run-time assertion failure.
1356
+ # </p>
1357
+ # </div>
1358
+ # @param argFlags [Integer] If 0 (default value), then displayed string is returned. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_FULL_VALUE} is set, returns complete, storable string value instead of displayable. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_EDITABLE_VALUE} is set, returns string value that must be editable in textctrl. If {Wx::PG::PG_MISC_ARG_FLAGS::PG_COMPOSITE_FRAGMENT} is set, returns text that is appropriate to display as a part of string property's composite text representation.
1359
+ # @return [String]
1360
+ def get_value_as_string(argFlags=0) end
1361
+ alias_method :value_as_string, :get_value_as_string
1362
+
1363
+ # Returns value type used by this property.
1364
+ # @return [String]
1365
+ def get_value_type; end
1366
+ alias_method :value_type, :get_value_type
1367
+
1368
+ # Returns coordinate to the top y of the property.
1369
+ #
1370
+ # Note that the position of scrollbars is not taken into account.
1371
+ # @return [Integer]
1372
+ def get_y; end
1373
+ alias_method :y, :get_y
1374
+
1375
+ # Converts image width into full image offset, with margins.
1376
+ # @param imageWidth [Integer]
1377
+ # @return [Integer]
1378
+ def get_image_offset(imageWidth) end
1379
+ alias_method :image_offset, :get_image_offset
1380
+
1381
+ # Returns property at given virtual y coordinate.
1382
+ # @param y [Integer]
1383
+ # @return [Wx::PG::PGProperty]
1384
+ def get_item_at_y(y) end
1385
+ alias_method :item_at_y, :get_item_at_y
1386
+
1387
+ # @overload has_flag(flag)
1388
+ # Returns true if property has given flag set.
1389
+ #
1390
+ #
1391
+ # @see propgrid_propflags
1392
+ # @param flag [Wx::PGPropertyFlags]
1393
+ # @return [Boolean]
1394
+ # @overload has_flag(flag)
1395
+ # Returns true if property has given flag set.
1396
+ # @param flag [Integer]
1397
+ # @return [Boolean]
1398
+ def has_flag(*args) end
1399
+ alias_method :has_flag?, :has_flag
1400
+
1401
+ # Returns true if property has all given flags set.
1402
+ # @param flags [Integer]
1403
+ # @return [Boolean]
1404
+ def has_flags_exact(flags) end
1405
+ alias_method :has_flags_exact?, :has_flags_exact
1406
+
1407
+ # Returns true if property has even one visible child.
1408
+ # @return [Boolean]
1409
+ def has_visible_children; end
1410
+ alias_method :has_visible_children?, :has_visible_children
1411
+
1412
+ # Hides or reveals the property.
1413
+ # @param hide [Boolean] true for hide, false for reveal.
1414
+ # @param flags [Integer] By default changes are applied recursively. Set this parameter to {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_DONT_RECURSE} to prevent this.
1415
+ # @return [Boolean]
1416
+ def hide(hide, flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1417
+
1418
+ # Returns index of given child property.
1419
+ #
1420
+ # {Wx::NOT_FOUND} if given property is not child of this.
1421
+ # @param p [Wx::PG::PGProperty]
1422
+ # @return [Integer]
1423
+ def index(p) end
1424
+
1425
+ # Use this member function to add independent (i.e.
1426
+ #
1427
+ # regular) children to a property.
1428
+ # Inserted childProperty.
1429
+ #
1430
+ # <div class="wxrb-remark">
1431
+ # <b>Remark:</b>
1432
+ # <p>{Wx::PG::PropertyGrid} is not automatically refreshed by this function.
1433
+ # </p>
1434
+ # </div>
1435
+ # @see Wx::PG::PGProperty#append_child
1436
+ # @see Wx::PG::PGProperty#add_private_child
1437
+ # @param index [Integer]
1438
+ # @param childProperty [Wx::PG::PGProperty]
1439
+ # @return [Wx::PG::PGProperty]
1440
+ def insert_child(index, childProperty) end
1441
+
1442
+ # Inserts a new choice to property's list of choices.
1443
+ # @param label [String] Text for new choice
1444
+ # @param index [Integer] Insertion position. Use {Wx::NOT_FOUND} to append.
1445
+ # @param value [Integer] Value for new choice. Do not specify if you wish this to equal choice index.
1446
+ # @return [Integer]
1447
+ def insert_choice(label, index, value=Wx::PG::PG_INVALID_VALUE) end
1448
+
1449
+ # Returns true if this property is actually a {Wx::PG::PropertyCategory}.
1450
+ # @return [Boolean]
1451
+ def is_category; end
1452
+ alias_method :category?, :is_category
1453
+
1454
+ # Returns true if property is enabled.
1455
+ # @return [Boolean]
1456
+ def is_enabled; end
1457
+ alias_method :enabled?, :is_enabled
1458
+
1459
+ # Returns true if property has visible children.
1460
+ # @return [Boolean]
1461
+ def is_expanded; end
1462
+ alias_method :expanded?, :is_expanded
1463
+
1464
+ # Returns true if this property is actually a {Wx::RootProperty}.
1465
+ # @return [Boolean]
1466
+ def is_root; end
1467
+ alias_method :root?, :is_root
1468
+
1469
+ # Returns true if this is a sub-property.
1470
+ # @return [Boolean]
1471
+ def is_sub_property; end
1472
+ alias_method :sub_property?, :is_sub_property
1473
+
1474
+ # Returns true if candidateParent is some parent of this property.
1475
+ #
1476
+ # Use, for example, to detect if item is inside collapsed section.
1477
+ # @param candidateParent [Wx::PG::PGProperty]
1478
+ # @return [Boolean]
1479
+ def is_some_parent(candidateParent) end
1480
+ alias_method :some_parent?, :is_some_parent
1481
+
1482
+ # Returns true if property has editable {Wx::TextCtrl} when selected.
1483
+ #
1484
+ # <div class="wxrb-remark">
1485
+ # <b>Remark:</b>
1486
+ # <p>Although disabled properties do not displayed editor, they still return true here as being disabled is considered a temporary condition (unlike being read-only or having limited editing enabled).
1487
+ # </p>
1488
+ # </div>
1489
+ # @return [Boolean]
1490
+ def is_text_editable; end
1491
+ alias_method :text_editable?, :is_text_editable
1492
+
1493
+ # Returns true if property's value is considered unspecified.
1494
+ #
1495
+ # This usually means that value is Null variant.
1496
+ # @return [Boolean]
1497
+ def is_value_unspecified; end
1498
+ alias_method :value_unspecified?, :is_value_unspecified
1499
+
1500
+ # Returns true if all parents expanded.
1501
+ # @return [Boolean]
1502
+ def is_visible; end
1503
+ alias_method :visible?, :is_visible
1504
+
1505
+ # Returns child property at index i.
1506
+ # @param i [Integer]
1507
+ # @return [Wx::PG::PGProperty]
1508
+ def item(i) end
1509
+
1510
+ # Returns last sub-property.
1511
+ # @return [Wx::PG::PGProperty]
1512
+ def last; end
1513
+
1514
+ # If property's editor is created this forces its recreation.
1515
+ #
1516
+ # Useful in SetAttribute etc. Returns true if actually did anything.
1517
+ # @return [Boolean]
1518
+ def recreate_editor; end
1519
+
1520
+ # If property's editor is active, then update it's value.
1521
+ # @return [void]
1522
+ def refresh_editor; end
1523
+
1524
+ # Sets an attribute for this property.
1525
+ #
1526
+ # <div class="wxrb-remark">
1527
+ # <b>Remark:</b>
1528
+ # <p>Setting attribute's value to Null variant will simply remove it from property's set of attributes.
1529
+ # </p>
1530
+ # </div>
1531
+ # @param name [String] Text identifier of attribute. See wxPropertyGrid Property Attribute Identifiers.
1532
+ # @param value [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue] Value of attribute.
1533
+ # @return [void]
1534
+ def set_attribute(name, value) end
1535
+
1536
+ # @param attributes [Wx::PGAttributeStorage]
1537
+ # @return [void]
1538
+ def set_attributes(attributes) end
1539
+
1540
+ # Set if user can change the property's value to unspecified by modifying the value of the editor control (usually by clearing it).
1541
+ #
1542
+ # Currently, this can work with following properties: {Wx::PG::IntProperty}, {Wx::PG::UIntProperty}, {Wx::PG::FloatProperty}, {Wx::PG::EditEnumProperty}.
1543
+ # @param enable [Boolean] Whether to enable or disable this behaviour (it is disabled by default).
1544
+ # @return [void]
1545
+ def set_auto_unspecified(enable=true) end
1546
+ alias_method :auto_unspecified=, :set_auto_unspecified
1547
+
1548
+ # Sets property's background colour.
1549
+ #
1550
+ # <div class="wxrb-remark">
1551
+ # <b>Remark:</b>
1552
+ # <p>Unlike {Wx::PG::PropertyGridInterface#set_property_background_colour}, this does not automatically update the display.
1553
+ # </p>
1554
+ # </div>
1555
+ # @param colour [Wx::Colour,String,Symbol] Background colour to use.
1556
+ # @param flags [Integer] Default is {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE} which causes colour to be set recursively. Omit this flag to only set colour for the property in question and not any of its children.
1557
+ # @return [void]
1558
+ def set_background_colour(colour, flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1559
+ alias_method :background_colour=, :set_background_colour
1560
+
1561
+ # @overload set_editor(editor)
1562
+ # Sets editor for a property.
1563
+ #
1564
+ # For custom editors, use pointer you received from {Wx::PG::PropertyGrid.register_editor_class}.
1565
+ # @param editor [Wx::PG::PGEditor] For builtin editors, use {Wx::PGEditor_X}, where X is builtin editor's name (TextCtrl, Choice, etc. see {Wx::PG::PGEditor} documentation for full list).
1566
+ # @return [void]
1567
+ # @overload set_editor(editorName)
1568
+ # Sets editor for a property, by editor name.
1569
+ # @param editorName [String]
1570
+ # @return [void]
1571
+ def set_editor(*args) end
1572
+ alias_method :editor=, :set_editor
1573
+
1574
+ # Sets cell information for given column.
1575
+ # @param column [Integer]
1576
+ # @param cell [Wx::PG::PGCell]
1577
+ # @return [void]
1578
+ def set_cell(column, cell) end
1579
+
1580
+ # Sets common value selected for this property.
1581
+ #
1582
+ # -1 for none.
1583
+ # @param commonValue [Integer]
1584
+ # @return [void]
1585
+ def set_common_value(commonValue) end
1586
+ alias_method :common_value=, :set_common_value
1587
+
1588
+ # Sets new set of choices for the property.
1589
+ #
1590
+ # <div class="wxrb-remark">
1591
+ # <b>Remark:</b>
1592
+ # <p>This operation deselects the property and clears its value.
1593
+ # </p>
1594
+ # </div>
1595
+ # @param choices [Wx::PG::PGChoices]
1596
+ # @return [Boolean]
1597
+ def set_choices(choices) end
1598
+ alias_method :choices=, :set_choices
1599
+
1600
+ # Sets client object of a property.
1601
+ # @param clientObject [Object]
1602
+ # @return [void]
1603
+ def set_client_object(clientObject) end
1604
+ alias_method :client_object=, :set_client_object
1605
+
1606
+ # Sets selected choice and changes property value.
1607
+ #
1608
+ # Tries to retain value type, although currently if it is not string, then it is forced to integer.
1609
+ # @param newValue [Integer]
1610
+ # @return [void]
1611
+ def set_choice_selection(newValue) end
1612
+ alias_method :choice_selection=, :set_choice_selection
1613
+
1614
+ # Set default value of a property.
1615
+ #
1616
+ # Synonymous to
1617
+ #
1618
+ # ```ruby
1619
+ # set_attribute('DefaultValue', value)
1620
+ # ```
1621
+ # @param value [Wx::Variant]
1622
+ # @return [void]
1623
+ def set_default_value(value) end
1624
+ alias_method :default_value=, :set_default_value
1625
+
1626
+ # @param expanded [Boolean]
1627
+ # @return [void]
1628
+ def set_expanded(expanded) end
1629
+ alias_method :expanded=, :set_expanded
1630
+
1631
+ # Sets flags from a '|' delimited string.
1632
+ #
1633
+ # Note that flag names are not prepended with '{Wx::PG_PROP_}'.
1634
+ # @param str [String]
1635
+ # @return [void]
1636
+ def set_flags_from_string(str) end
1637
+ alias_method :flags_from_string=, :set_flags_from_string
1638
+
1639
+ # Sets or clears given property flag, recursively.
1640
+ #
1641
+ # This function is primarily intended for internal use.
1642
+ # @see Wx::PG::PGProperty#change_flag
1643
+ # @param flag [Wx::PGPropertyFlags]
1644
+ # @param set [Boolean]
1645
+ # @return [void]
1646
+ def set_flag_recursively(flag, set) end
1647
+
1648
+ # Sets property's help string, which is shown, for example, in {Wx::PG::PropertyGridManager}'s description text box.
1649
+ # @param helpString [String]
1650
+ # @return [void]
1651
+ def set_help_string(helpString) end
1652
+ alias_method :help_string=, :set_help_string
1653
+
1654
+ # Sets property's label.
1655
+ #
1656
+ # <div class="wxrb-remark">
1657
+ # <b>Remark:</b>
1658
+ # <p>
1659
+ #
1660
+ # - Properties under same parent may have same labels. However, property names must still remain unique.
1661
+ # - Unlike {Wx::PG::PropertyGridInterface#set_property_label}, this does not automatically update the display.
1662
+ #
1663
+ # </p>
1664
+ # </div>
1665
+ # @param label [String]
1666
+ # @return [void]
1667
+ def set_label(label) end
1668
+ alias_method :label=, :set_label
1669
+
1670
+ # Set maximum length of the text the user can enter in the text editor.
1671
+ #
1672
+ # If it is 0, the length is not limited and the text can be as long as it is supported by the underlying native text control widget.
1673
+ # Returns true if maximum length was set.
1674
+ # @param maxLen [Integer]
1675
+ # @return [Boolean]
1676
+ def set_max_length(maxLen) end
1677
+ alias_method :max_length=, :set_max_length
1678
+
1679
+ # Sets property's "is it modified?" flag.
1680
+ #
1681
+ # Affects children recursively.
1682
+ # @param modified [Boolean]
1683
+ # @return [void]
1684
+ def set_modified_status(modified) end
1685
+ alias_method :modified_status=, :set_modified_status
1686
+
1687
+ # Sets new (base) name for property.
1688
+ # @param newName [String]
1689
+ # @return [void]
1690
+ def set_name(newName) end
1691
+ alias_method :name=, :set_name
1692
+
1693
+ # Changes what sort of parent this property is for its children.
1694
+ #
1695
+ # <div class="wxrb-remark">
1696
+ # <b>Remark:</b>
1697
+ # <p>You generally do not need to call this function.
1698
+ # </p>
1699
+ # </div>
1700
+ # @param flag [Integer] Use one of the following values: {Wx::PG::PGPropertyFlags::PG_PROP_MISC_PARENT} (for generic parents), {Wx::PG::PGPropertyFlags::PG_PROP_CATEGORY} (for categories), or {Wx::PG::PGPropertyFlags::PG_PROP_AGGREGATE} (for derived property classes with private children).
1701
+ # @return [void]
1702
+ def set_parental_type(flag) end
1703
+ alias_method :parental_type=, :set_parental_type
1704
+
1705
+ # Sets property's text colour.
1706
+ #
1707
+ # <div class="wxrb-remark">
1708
+ # <b>Remark:</b>
1709
+ # <p>Unlike {Wx::PG::PropertyGridInterface#set_property_text_colour}, this does not automatically update the display.
1710
+ # </p>
1711
+ # </div>
1712
+ # @param colour [Wx::Colour,String,Symbol] Text colour to use.
1713
+ # @param flags [Integer] Default is {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE} which causes colour to be set recursively. Omit this flag to only set colour for the property in question and not any of its children.
1714
+ # @return [void]
1715
+ def set_text_colour(colour, flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1716
+ alias_method :text_colour=, :set_text_colour
1717
+
1718
+ # Sets property's default text and background colours.
1719
+ #
1720
+ # <div class="wxrb-remark">
1721
+ # <b>Remark:</b>
1722
+ # <p>Unlike {Wx::PG::PropertyGridInterface#set_property_colours_to_default}, this does not automatically update the display.
1723
+ # </p>
1724
+ # </div>
1725
+ # @param flags [Integer] Default is {Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE} which causes colours to be set recursively. Omit this flag to only set colours for the property in question and not any of its children.
1726
+ # @return [void]
1727
+ def set_default_colours(flags=Wx::PG::PG_GETPROPERTYVALUES_FLAGS::PG_RECURSE) end
1728
+ alias_method :default_colours=, :set_default_colours
1729
+
1730
+ # Sets {Wx::Validator} for a property.
1731
+ # @param validator [Wx::Validator]
1732
+ # @return [void]
1733
+ def set_validator(validator) end
1734
+ alias_method :validator=, :set_validator
1735
+
1736
+ # Call this to set value of the property.
1737
+ #
1738
+ # Unlike methods in {Wx::PG::PropertyGrid}, this does not automatically update the display.
1739
+ #
1740
+ # <div class="wxrb-remark">
1741
+ # <b>Remark:</b>
1742
+ # <p>Use {Wx::PG::PropertyGrid#change_property_value} instead if you need to run through validation process and send property change event.
1743
+ # </p>
1744
+ # </div>
1745
+ #
1746
+ # If you need to change property value in event, based on user input, use {Wx::PG::PGProperty#set_value_in_event} instead.
1747
+ # @param value [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue] The value to set.
1748
+ # @param pList [Wx::Variant] Pointer to list variant that contains child values. Used to indicate which children should be marked as modified. Usually you just use NULL.
1749
+ # @param flags [Integer] {Wx::PG::PG_SETVALUE_FLAGS::PG_SETVAL_REFRESH_EDITOR} is set by default, to refresh editor and redraw properties.
1750
+ # @return [void]
1751
+ def set_value(value, pList=nil, flags=Wx::PG::PG_SETVALUE_FLAGS::PG_SETVAL_REFRESH_EDITOR) end
1752
+ alias_method :value=, :set_value
1753
+
1754
+ # Set {Wx::Bitmap} taken from {Wx::BitmapBundle} in front of the value.
1755
+ #
1756
+ # This bitmap may be ignored by custom cell renderers.
1757
+ # @param bmp [Wx::BitmapBundle]
1758
+ # @return [void]
1759
+ def set_value_image(bmp) end
1760
+ alias_method :value_image=, :set_value_image
1761
+
1762
+ # Call this function in {Wx::PG::PGProperty#on_event}, OnButtonClick() etc.
1763
+ #
1764
+ # to change the property value based on user input.
1765
+ #
1766
+ # <div class="wxrb-remark">
1767
+ # <b>Remark:</b>
1768
+ # <p>This method is const since it doesn't actually modify value, but posts given variant as pending value, stored in {Wx::PG::PropertyGrid}.
1769
+ # </p>
1770
+ # </div>
1771
+ # @param value [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue]
1772
+ # @return [void]
1773
+ def set_value_in_event(value) end
1774
+ alias_method :value_in_event=, :set_value_in_event
1775
+
1776
+ # Sets property's value to unspecified (i.e.
1777
+ #
1778
+ # Null variant).
1779
+ # @return [void]
1780
+ def set_value_to_unspecified; end
1781
+
1782
+ # Call with false in {Wx::PG::PGProperty#on_set_value} to cancel value changes after all (i.e.
1783
+ #
1784
+ # cancel true returned by {Wx::PG::PGProperty#string_to_value} or {Wx::PG::PGProperty#int_to_value}).
1785
+ # @param set [Boolean]
1786
+ # @return [void]
1787
+ def set_was_modified(set=true) end
1788
+ alias_method :was_modified=, :set_was_modified
1789
+
1790
+ # Updates composed values of parent non-category properties, recursively.
1791
+ #
1792
+ # Returns topmost property updated.
1793
+ #
1794
+ # <div class="wxrb-remark">
1795
+ # <b>Remark:</b>
1796
+ # <p>Must not call {Wx::PG::PGProperty#set_value} (as can be called in it).
1797
+ # </p>
1798
+ # </div>
1799
+ # @return [Wx::PG::PGProperty]
1800
+ def update_parent_values; end
1801
+
1802
+ # Returns true if containing grid uses {Wx::PG::PG_EX_WINDOW_STYLES::PG_EX_AUTO_UNSPECIFIED_VALUES}.
1803
+ # @return [Boolean]
1804
+ def uses_auto_unspecified; end
1805
+
1806
+ # Clear cells associated with property.
1807
+ # @param ignoreWithFlags [Integer] Cells will not be cleared for properties having these flags set.
1808
+ # @param recursively [Boolean] If true, apply this operation recursively in child properties.
1809
+ # @return [void]
1810
+ def clear_cells(ignoreWithFlags, recursively) end
1811
+
1812
+ # Makes sure m_cells has size of column+1 (or more).
1813
+ # @param column [Integer]
1814
+ # @return [void]
1815
+ def ensure_cells(column) end
1816
+
1817
+ # Returns (direct) child property with given name (or NULL if not found), with hint index.
1818
+ #
1819
+ # <div class="wxrb-remark">
1820
+ # <b>Remark:</b>
1821
+ # <p>Does not support scope (i.e. Parent.Child notation).
1822
+ # </p>
1823
+ # </div>
1824
+ # @param name [String] Name of the child property to look for.
1825
+ # @param hintIndex [Integer] Start looking for the child at this index.
1826
+ # @return [Wx::PG::PGProperty]
1827
+ def get_property_by_name_wh(name, hintIndex) end
1828
+ alias_method :property_by_name_wh, :get_property_by_name_wh
1829
+
1830
+ # Deletes all child properties.
1831
+ # @return [void]
1832
+ def empty; end
1833
+
1834
+ # Returns true if child property is selected.
1835
+ # @param recursive [Boolean]
1836
+ # @return [Boolean]
1837
+ def is_child_selected(recursive=false) end
1838
+ alias_method :child_selected?, :is_child_selected
1839
+
1840
+ #
1841
+ # @return [Wx::Variant]
1842
+ def value_; end
1843
+ #
1844
+ # @param val [nil,String,Integer,Float,Time,Wx::Font,Wx::Colour,Wx::Variant,Array<WxVariant>,Array<String>,ObjectWx::PG::ColourPropertyValue]
1845
+ # @return [void]
1846
+ def value_=(val); end
1847
+
1848
+
1849
+ protected
1850
+
1851
+ # @overload initialize()
1852
+ # Default constructor.
1853
+ #
1854
+ # It is protected because {Wx::PG::PGProperty} is only a base class for other property classes.
1855
+ # @return [Wx::PG::PGProperty]
1856
+ # @overload initialize(label, name)
1857
+ # Constructor.
1858
+ #
1859
+ # It is protected because {Wx::PG::PGProperty} is only a base class for other property classes. Non-abstract property classes should have constructor of this style:
1860
+ #
1861
+ # ```ruby
1862
+ # class WxPointProperty < Wx::PG::PGProperty
1863
+ #
1864
+ # def initialize(label = Wx::PG::PG_LABEL, name = Wx::PG::PG_LABEL, value = Wx::Point.new)
1865
+ # super(label, name)
1866
+ #
1867
+ # # should work in pretty much 100% of cases
1868
+ # self.value = value
1869
+ #
1870
+ # # add private child properties
1871
+ # add_private_child( Wx::PG::IntProperty.new("X", Wx::PG::PG_LABEL,value.x))
1872
+ # add_private_child( Wx::PG::IntProperty.new("Y", Wx::PG::PG_LABEL,value.y))
1873
+ # end
1874
+ #
1875
+ # # ...
1876
+ #
1877
+ # end
1878
+ # ```
1879
+ # @param label [String]
1880
+ # @param name [String]
1881
+ # @return [Wx::PG::PGProperty]
1882
+ def initialize(*args) end
1883
+
1884
+ end # PGProperty
1885
+
1886
+ # Helper class for managing choices of {Wx::PG::PropertyGrid} properties.
1887
+ #
1888
+ # Each entry can have label, value, bitmap, text colour, and background colour.
1889
+ # {Wx::PG::PGChoices} uses reference counting, similar to other wxWidgets classes. This means that assignment operator and copy constructor only copy the reference and not the actual data. Use {Wx::PG::PGChoices#copy} member function to create a real copy.
2126
1890
  #
1891
+ # <div class="wxrb-remark">
1892
+ # <b>Remark:</b>
1893
+ # <p>If you do not specify value for entry, index is used.
1894
+ # </p>
1895
+ # </div>
2127
1896
  #
2128
- # @param val [Integer]
2129
- # @return [void]
2130
- def drawn_height=(val); end
1897
+ # Category: {Wx::PG::PropertyGrid}
1898
+ #
1899
+ #
1900
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
1901
+ # @wxrb_require USE_PROPGRID
1902
+ class PGChoices < ::Object
1903
+
1904
+ # @overload initialize()
1905
+ # Default constructor.
1906
+ # @return [Wx::PG::PGChoices]
1907
+ # @overload initialize(a)
1908
+ # Copy constructor, uses reference counting.
1909
+ #
1910
+ # To create a real copy, use {Wx::PG::PGChoices#copy} member function instead.
1911
+ # @param a [Wx::PG::PGChoices]
1912
+ # @return [Wx::PG::PGChoices]
1913
+ # @overload initialize(labels, values=(Wx::ArrayInt.new()))
1914
+ # Constructor.
1915
+ # @param labels [Array<String>] Labels for choices.
1916
+ # @param values [Array<Integer>] Values for choices. If empty, indexes are used. Otherwise must have at least the same size as labels.
1917
+ # @return [Wx::PG::PGChoices]
1918
+ def initialize(*args) end
1919
+
1920
+ # @overload add(arr, arrint)
1921
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1922
+ # @param arr [Array<String>]
1923
+ # @param arrint [Array<Integer>]
1924
+ # @return [void]
1925
+ # @overload add(label, value=Wx::PG::PG_INVALID_VALUE)
1926
+ # Adds a single choice item.
1927
+ # @param label [String] Label for added choice.
1928
+ # @param value [Integer] Value for added choice. If unspecified, index is used.
1929
+ # @return [Wx::PG::PGChoiceEntry]
1930
+ # @overload add(label, bitmap, value=Wx::PG::PG_INVALID_VALUE)
1931
+ # Adds a single item, with bitmap.
1932
+ # @param label [String]
1933
+ # @param bitmap [Wx::Bitmap]
1934
+ # @param value [Integer]
1935
+ # @return [Wx::PG::PGChoiceEntry]
1936
+ # @overload add(entry)
1937
+ # Adds a single item with full entry information.
1938
+ # @param entry [Wx::PG::PGChoiceEntry]
1939
+ # @return [Wx::PG::PGChoiceEntry]
1940
+ def add(*args) end
1941
+
1942
+ # Adds a single item, sorted.
1943
+ # @param label [String]
1944
+ # @param value [Integer]
1945
+ # @return [Wx::PG::PGChoiceEntry]
1946
+ def add_as_sorted(label, value=Wx::PG::PG_INVALID_VALUE) end
1947
+
1948
+ # Assigns choices data, using reference counting.
1949
+ #
1950
+ # To create a real copy, use {Wx::PG::PGChoices#copy} member function instead.
1951
+ # @param a [Wx::PG::PGChoices]
1952
+ # @return [void]
1953
+ def assign(a) end
1954
+
1955
+ # Deletes all items.
1956
+ # @return [void]
1957
+ def clear; end
1958
+
1959
+ # Returns a real copy of the choices.
1960
+ # @return [Wx::PG::PGChoices]
1961
+ def copy; end
1962
+
1963
+ # @return [void]
1964
+ def ensure_data; end
1965
+
1966
+ # Returns label of item.
1967
+ # @param ind [Integer]
1968
+ # @return [Wx::String]
1969
+ def get_label(ind) end
1970
+ alias_method :label, :get_label
1971
+
1972
+ # Returns number of items.
1973
+ # @return [Integer]
1974
+ def get_count; end
1975
+ alias_method :count, :get_count
1976
+
1977
+ # Returns value of item.
1978
+ # @param ind [Integer]
1979
+ # @return [Integer]
1980
+ def get_value(ind) end
1981
+ alias_method :value, :get_value
1982
+
1983
+ # Returns array of values matching the given strings.
1984
+ #
1985
+ # Unmatching strings result in {Wx::PG::PG_INVALID_VALUE} entry in array.
1986
+ # @param strings [Array<String>]
1987
+ # @return [Array<Integer>]
1988
+ def get_values_for_strings(strings) end
1989
+ alias_method :values_for_strings, :get_values_for_strings
1990
+
1991
+ # Returns array of indices matching given strings.
1992
+ #
1993
+ # Unmatching strings are added to 'unmatched', if not NULL.
1994
+ # @param strings [Array<String>]
1995
+ # @param unmatched [Array,nil]
1996
+ # @return [Array<Integer>]
1997
+ def get_indices_for_strings(strings, unmatched=nil) end
1998
+ alias_method :indices_for_strings, :get_indices_for_strings
1999
+
2000
+ # @overload index(label)
2001
+ # Returns index of item with given label.
2002
+ # @param label [String]
2003
+ # @return [Integer]
2004
+ # @overload index(val)
2005
+ # Returns index of item with given value.
2006
+ # @param val [Integer]
2007
+ # @return [Integer]
2008
+ def index(*args) end
2009
+
2010
+ # @overload insert(label, index, value=Wx::PG::PG_INVALID_VALUE)
2011
+ # Inserts a single item.
2012
+ # @param label [String]
2013
+ # @param index [Integer]
2014
+ # @param value [Integer]
2015
+ # @return [Wx::PG::PGChoiceEntry]
2016
+ # @overload insert(entry, index)
2017
+ # Inserts a single item with full entry information.
2018
+ # @param entry [Wx::PG::PGChoiceEntry]
2019
+ # @param index [Integer]
2020
+ # @return [Wx::PG::PGChoiceEntry]
2021
+ def insert(*args) end
2022
+
2023
+ # Returns false if this is a constant empty set of choices, which should not be modified.
2024
+ # @return [Boolean]
2025
+ def is_ok; end
2026
+ alias_method :ok?, :is_ok
2027
+
2028
+ # Returns item at given index.
2029
+ # @param i [Integer]
2030
+ # @return [Wx::PG::PGChoiceEntry]
2031
+ def item(i) end
2032
+
2033
+ # Removes count items starting at position nIndex.
2034
+ # @param nIndex [Integer]
2035
+ # @param count [Integer]
2036
+ # @return [void]
2037
+ def remove_at(nIndex, count=1) end
2038
+
2039
+ # This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
2040
+ # @param labels [Array<String>]
2041
+ # @param values [Array<Integer>]
2042
+ # @return [void]
2043
+ def set(labels, values=(Wx::ArrayInt.new())) end
2044
+
2045
+ # Creates exclusive copy of current choices.
2046
+ # @return [void]
2047
+ def alloc_exclusive; end
2048
+
2049
+ # Returns array of choice labels.
2050
+ # @return [Array<String>]
2051
+ def get_labels; end
2052
+ alias_method :labels, :get_labels
2053
+
2054
+ # @overload [](i)
2055
+ # @param i [Integer]
2056
+ # @return [Wx::PG::PGChoiceEntry]
2057
+ # @overload [](i)
2058
+ # @param i [Integer]
2059
+ # @return [Wx::PG::PGChoiceEntry]
2060
+ def [](*args) end
2061
+
2062
+ end # PGChoices
2063
+
2064
+ # Contains information related to property's OnCustomPaint.
2065
+ #
2066
+ #
2067
+ #
2068
+ #
2069
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
2070
+ # @wxrb_require USE_PROPGRID
2071
+ class PGPaintData < ::Object
2072
+
2073
+ # {Wx::PG::PropertyGrid}
2074
+ #
2075
+ #
2076
+ # @return [Wx::PG::PropertyGrid]
2077
+ def parent; end
2078
+ # {Wx::PG::PropertyGrid}
2079
+ #
2080
+ #
2081
+ # @param val [Wx::PG::PropertyGrid]
2082
+ # @return [void]
2083
+ def parent=(val); end
2084
+
2085
+ # Normally -1, otherwise index to drop-down list item that has to be drawn.
2086
+ #
2087
+ #
2088
+ # @return [Integer]
2089
+ def choice_item; end
2090
+ # Normally -1, otherwise index to drop-down list item that has to be drawn.
2091
+ #
2092
+ #
2093
+ # @param val [Integer]
2094
+ # @return [void]
2095
+ def choice_item=(val); end
2096
+
2097
+ # Set to drawn width in OnCustomPaint (optional).
2098
+ #
2099
+ #
2100
+ # @return [Integer]
2101
+ def drawn_width; end
2102
+ # Set to drawn width in OnCustomPaint (optional).
2103
+ #
2104
+ #
2105
+ # @param val [Integer]
2106
+ # @return [void]
2107
+ def drawn_width=(val); end
2108
+
2109
+ # In a measure item call, set this to the height of item at m_choiceItem index.
2110
+ #
2111
+ #
2112
+ # @return [Integer]
2113
+ def drawn_height; end
2114
+ # In a measure item call, set this to the height of item at m_choiceItem index.
2115
+ #
2116
+ #
2117
+ # @param val [Integer]
2118
+ # @return [void]
2119
+ def drawn_height=(val); end
2120
+
2121
+ end # PGPaintData
2131
2122
 
2132
- end # PGPaintData
2133
-
2134
2123
 
2135
- end
2124
+ end
2125
+
2126
+ end