wxruby3 0.9.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +183 -42
  3. data/README.md +40 -48
  4. data/ext/mkrf_conf_ext.rb +72 -0
  5. data/lib/wx/core/app.rb +16 -0
  6. data/lib/wx/core/colour.rb +36 -28
  7. data/lib/wx/core/const.rb +19 -0
  8. data/lib/wx/core/enum.rb +17 -1
  9. data/lib/wx/core/geometry.rb +121 -0
  10. data/lib/wx/core/graphics_pen_info.rb +18 -0
  11. data/lib/wx/core/image.rb +49 -0
  12. data/lib/wx/core/menu_bar.rb +11 -0
  13. data/lib/wx/core/paintdc.rb +9 -3
  14. data/lib/wx/core/secret_store.rb +38 -0
  15. data/lib/wx/doc/app.rb +97 -41
  16. data/lib/wx/doc/bitmap.rb +4 -0
  17. data/lib/wx/doc/client_dc.rb +2 -2
  18. data/lib/wx/doc/clipboard.rb +1 -1
  19. data/lib/wx/doc/colour.rb +12 -0
  20. data/lib/wx/doc/const.rb +16 -0
  21. data/lib/wx/doc/cursor.rb +4 -0
  22. data/lib/wx/doc/dc_overlay.rb +34 -0
  23. data/lib/wx/doc/enum.rb +7 -1
  24. data/lib/wx/doc/event_blocker.rb +1 -1
  25. data/lib/wx/doc/evthandler.rb +25 -3
  26. data/lib/wx/doc/functions.rb +3 -6
  27. data/lib/wx/doc/gc_dc.rb +13 -4
  28. data/lib/wx/doc/geometry.rb +136 -0
  29. data/lib/wx/doc/graphics_context.rb +25 -7
  30. data/lib/wx/doc/icon.rb +4 -0
  31. data/lib/wx/doc/image.rb +56 -0
  32. data/lib/wx/doc/list_ctrl.rb +6 -6
  33. data/lib/wx/doc/memory_dc.rb +2 -11
  34. data/lib/wx/doc/mirror_dc.rb +1 -1
  35. data/lib/wx/doc/pen.rb +26 -0
  36. data/lib/wx/doc/persistence_manager.rb +1 -1
  37. data/lib/wx/doc/persistent_object.rb +1 -1
  38. data/lib/wx/doc/pg/property_grid_interface.rb +3 -3
  39. data/lib/wx/doc/prt/printer_dc.rb +2 -2
  40. data/lib/wx/doc/region_iterator.rb +1 -1
  41. data/lib/wx/doc/scaled_dc.rb +1 -1
  42. data/lib/wx/doc/screen_dc.rb +1 -1
  43. data/lib/wx/doc/secret_store.rb +55 -0
  44. data/lib/wx/doc/svg_file_dc.rb +1 -1
  45. data/lib/wx/doc/textctrl.rb +1 -1
  46. data/lib/wx/doc/tree_ctrl.rb +2 -2
  47. data/lib/wx/doc/validator.rb +6 -6
  48. data/lib/wx/doc/variant.rb +2 -2
  49. data/lib/wx/doc/window.rb +5 -4
  50. data/lib/wx/grid/keyword_defs.rb +1 -1
  51. data/lib/wx/html/keyword_defs.rb +3 -3
  52. data/lib/wx/keyword_defs.rb +76 -71
  53. data/lib/wx/pg/keyword_defs.rb +2 -2
  54. data/lib/wx/pg/pg_property.rb +12 -0
  55. data/lib/wx/rbn/keyword_defs.rb +1 -1
  56. data/lib/wx/rtc/keyword_defs.rb +1 -1
  57. data/lib/wx/stc/keyword_defs.rb +1 -1
  58. data/lib/wx/version.rb +1 -1
  59. data/lib/wx/wxruby/base.rb +3 -5
  60. data/lib/wx/wxruby/cmd/check.rb +182 -0
  61. data/lib/wx/wxruby/cmd/sampler.rb +1 -1
  62. data/lib/wx/wxruby/cmd/setup.rb +9 -3
  63. data/lib/wx/wxruby/cmd/test.rb +1 -1
  64. data/rakelib/configure.rb +67 -52
  65. data/rakelib/gem.rake +97 -66
  66. data/rakelib/gem.rb +294 -41
  67. data/rakelib/install.rb +3 -3
  68. data/rakelib/lib/config/{cygwin.rb → freebsd.rb} +1 -1
  69. data/rakelib/lib/config/linux.rb +4 -2
  70. data/rakelib/lib/config/macosx.rb +42 -11
  71. data/rakelib/lib/config/mingw.rb +2 -2
  72. data/rakelib/lib/config/pkgman/{base.rb → linux.rb} +36 -61
  73. data/rakelib/lib/config/pkgman/macosx.rb +17 -78
  74. data/rakelib/lib/config/unixish.rb +17 -8
  75. data/rakelib/lib/config/{netbsd.rb → unknown.rb} +3 -2
  76. data/rakelib/lib/config.rb +74 -33
  77. data/rakelib/lib/core/include/enum.inc +31 -1
  78. data/rakelib/lib/director/affine_matrix.rb +51 -0
  79. data/rakelib/lib/director/app.rb +29 -13
  80. data/rakelib/lib/director/art_provider.rb +4 -0
  81. data/rakelib/lib/director/aui_manager.rb +1 -1
  82. data/rakelib/lib/director/cursor.rb +6 -2
  83. data/rakelib/lib/director/dc.rb +1 -6
  84. data/rakelib/lib/director/derived_dc.rb +88 -31
  85. data/rakelib/lib/director/geometry.rb +142 -0
  86. data/rakelib/lib/director/graphics_context.rb +3 -2
  87. data/rakelib/lib/director/graphics_object.rb +18 -25
  88. data/rakelib/lib/director/grid_ctrl.rb +2 -2
  89. data/rakelib/lib/director/image.rb +59 -0
  90. data/rakelib/lib/director/menu.rb +2 -3
  91. data/rakelib/lib/director/menu_bar.rb +0 -3
  92. data/rakelib/lib/director/pen.rb +1 -1
  93. data/rakelib/lib/director/richtext_composite_object.rb +2 -4
  94. data/rakelib/lib/director/richtext_ctrl.rb +1 -1
  95. data/rakelib/lib/director/secret_store.rb +117 -0
  96. data/rakelib/lib/director/system_settings.rb +1 -1
  97. data/rakelib/lib/director/tree_event.rb +2 -2
  98. data/rakelib/lib/director/window.rb +4 -3
  99. data/rakelib/lib/extractor/function.rb +1 -1
  100. data/rakelib/lib/generate/doc/animation_ctrl.yaml +10 -0
  101. data/rakelib/lib/generate/doc/banner_window.yaml +35 -0
  102. data/rakelib/lib/generate/doc/graphics_context.yaml +12 -0
  103. data/rakelib/lib/generate/doc/graphics_object.yaml +12 -0
  104. data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
  105. data/rakelib/lib/generate/doc/header_ctrl.yaml +91 -0
  106. data/rakelib/lib/generate/doc/icon.yaml +10 -0
  107. data/rakelib/lib/generate/doc/info_bar.yaml +27 -0
  108. data/rakelib/lib/generate/doc/log.yaml +1 -1
  109. data/rakelib/lib/generate/doc/media_ctrl.yaml +27 -0
  110. data/rakelib/lib/generate/doc/persistent_window.yaml +22 -0
  111. data/rakelib/lib/generate/doc/pg_editor.yaml +1 -1
  112. data/rakelib/lib/generate/doc/pg_property.yaml +4 -4
  113. data/rakelib/lib/generate/doc/rearrange_list.yaml +14 -0
  114. data/rakelib/lib/generate/doc/ribbon_panel.yaml +15 -0
  115. data/rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml +26 -0
  116. data/rakelib/lib/generate/doc/secret_store.yaml +55 -0
  117. data/rakelib/lib/generate/doc/text_ctrl.yaml +1 -1
  118. data/rakelib/lib/generate/doc/wizard.yaml +27 -0
  119. data/rakelib/lib/generate/doc.rb +5 -5
  120. data/rakelib/lib/generate/interface.rb +1 -1
  121. data/rakelib/lib/specs/interfaces.rb +4 -0
  122. data/rakelib/lib/swig_runner.rb +24 -3
  123. data/rakelib/lib/typemap/common.rb +10 -0
  124. data/rakelib/lib/typemap/points_list.rb +8 -2
  125. data/rakelib/lib/typemap/richtext.rb +17 -0
  126. data/rakelib/prepost.rake +8 -1
  127. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +4 -0
  128. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +3 -3
  129. data/samples/dialogs/wizard.rb +20 -19
  130. data/samples/drawing/art/drawing/image.bmp +0 -0
  131. data/samples/drawing/art/drawing/mask.bmp +0 -0
  132. data/samples/drawing/art/drawing/pat35.bmp +0 -0
  133. data/samples/drawing/art/drawing/pat36.bmp +0 -0
  134. data/samples/drawing/art/drawing/pat4.bmp +0 -0
  135. data/samples/drawing/art/drawing/smile.xpm +42 -0
  136. data/samples/drawing/drawing.rb +2276 -0
  137. data/samples/drawing/tn_drawing.png +0 -0
  138. data/samples/html/html.rb +1 -1
  139. data/samples/propgrid/propgrid.rb +1 -1
  140. data/samples/propgrid/propgrid_minimal.rb +1 -1
  141. data/samples/propgrid/sample_props.rb +1 -1
  142. data/samples/sampler/editor.rb +13 -11
  143. data/samples/sampler/sample.rb +2 -0
  144. data/samples/sampler.rb +14 -10
  145. data/samples/text/richtext.rb +53 -0
  146. data/samples/text/scintilla.rb +1 -1
  147. data/samples/text/unicode.rb +4 -4
  148. data/tests/lib/wxapp_runner.rb +1 -1
  149. data/tests/test_config.rb +7 -4
  150. data/tests/test_ext_controls.rb +12 -5
  151. data/tests/test_secret_store.rb +83 -0
  152. data/tests/test_std_controls.rb +12 -12
  153. metadata +66 -47
  154. data/lib/wx/doc/extra/00_starting.md +0 -154
  155. data/lib/wx/doc/extra/01_packages.md +0 -180
  156. data/lib/wx/doc/extra/02_lifecycles.md +0 -166
  157. data/lib/wx/doc/extra/03_dialogs.md +0 -57
  158. data/lib/wx/doc/extra/04_enums.md +0 -143
  159. data/lib/wx/doc/extra/05_event-handling.md +0 -191
  160. data/lib/wx/doc/extra/06_geometry.md +0 -62
  161. data/lib/wx/doc/extra/07_colour_and_font.md +0 -52
  162. data/lib/wx/doc/extra/08_extensions.md +0 -144
  163. data/lib/wx/doc/extra/09_exceptions.md +0 -54
  164. data/lib/wx/doc/extra/10_art.md +0 -111
  165. data/lib/wx/doc/extra/11_drawing_and_dc.md +0 -62
  166. data/lib/wx/doc/extra/12_client_data.md +0 -89
  167. data/lib/wx/doc/extra/13_validators.md +0 -139
  168. data/lib/wx/doc/extra/14_config.md +0 -101
  169. data/lib/wx/doc/extra/15_persistence.md +0 -148
  170. data/rakefile +0 -14
  171. data/rakelib/lib/config/pkgman/arch.rb +0 -53
  172. data/rakelib/lib/config/pkgman/debian.rb +0 -66
  173. data/rakelib/lib/config/pkgman/rhel.rb +0 -54
  174. data/rakelib/lib/config/pkgman/suse.rb +0 -54
  175. data/samples/sampler/back.xpm +0 -21
  176. data/samples/sampler/copy.xpm +0 -44
  177. data/samples/sampler/cut.xpm +0 -46
  178. data/samples/sampler/filesave.xpm +0 -42
  179. data/samples/sampler/find.xpm +0 -62
  180. data/samples/sampler/findrepl.xpm +0 -63
  181. data/samples/sampler/forward.xpm +0 -21
  182. data/samples/sampler/paste.xpm +0 -46
  183. data/samples/sampler/redo.xpm +0 -58
  184. data/samples/sampler/undo.xpm +0 -58
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wxruby3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-05 00:00:00.000000000 Z
11
+ date: 2024-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -66,12 +66,27 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: plat4m
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
69
83
  description: wxRuby3 is a Ruby library providing an extension for the wxWidgets C++
70
84
  UI framework
71
85
  email: mcorino@m2c-software.nl
72
86
  executables:
73
87
  - wxruby
74
- extensions: []
88
+ extensions:
89
+ - ext/mkrf_conf_ext.rb
75
90
  extra_rdoc_files: []
76
91
  files:
77
92
  - ".yardopts"
@@ -95,6 +110,7 @@ files:
95
110
  - assets/logo.xcf
96
111
  - assets/repo-social-preview.png
97
112
  - bin/wxruby
113
+ - ext/mkrf_conf_ext.rb
98
114
  - ext/wxruby3/include/wxRubyApp.h
99
115
  - ext/wxruby3/include/wxruby-ClientData.h
100
116
  - ext/wxruby3/include/wxruby-ComboPopup.h
@@ -170,6 +186,8 @@ files:
170
186
  - lib/wx/core/gauge.rb
171
187
  - lib/wx/core/generic_validator.rb
172
188
  - lib/wx/core/genericdirctrl.rb
189
+ - lib/wx/core/geometry.rb
190
+ - lib/wx/core/graphics_pen_info.rb
173
191
  - lib/wx/core/hboxsizer.rb
174
192
  - lib/wx/core/helpcontroller.rb
175
193
  - lib/wx/core/helpcontrollerhelpprovider.rb
@@ -199,6 +217,7 @@ files:
199
217
  - lib/wx/core/real_point.rb
200
218
  - lib/wx/core/rect.rb
201
219
  - lib/wx/core/region_iterator.rb
220
+ - lib/wx/core/secret_store.rb
202
221
  - lib/wx/core/simplehelpprovider.rb
203
222
  - lib/wx/core/size.rb
204
223
  - lib/wx/core/sizer.rb
@@ -231,6 +250,7 @@ files:
231
250
  - lib/wx/doc/busy_info.rb
232
251
  - lib/wx/doc/client_dc.rb
233
252
  - lib/wx/doc/clipboard.rb
253
+ - lib/wx/doc/colour.rb
234
254
  - lib/wx/doc/colour_dialog.rb
235
255
  - lib/wx/doc/comboctrl.rb
236
256
  - lib/wx/doc/config.rb
@@ -242,6 +262,7 @@ files:
242
262
  - lib/wx/doc/date_picker_ctrl.rb
243
263
  - lib/wx/doc/datetime.rb
244
264
  - lib/wx/doc/dc.rb
265
+ - lib/wx/doc/dc_overlay.rb
245
266
  - lib/wx/doc/editable_listbox.rb
246
267
  - lib/wx/doc/enum.rb
247
268
  - lib/wx/doc/event.rb
@@ -249,28 +270,13 @@ files:
249
270
  - lib/wx/doc/event_loop.rb
250
271
  - lib/wx/doc/events.rb
251
272
  - lib/wx/doc/evthandler.rb
252
- - lib/wx/doc/extra/00_starting.md
253
- - lib/wx/doc/extra/01_packages.md
254
- - lib/wx/doc/extra/02_lifecycles.md
255
- - lib/wx/doc/extra/03_dialogs.md
256
- - lib/wx/doc/extra/04_enums.md
257
- - lib/wx/doc/extra/05_event-handling.md
258
- - lib/wx/doc/extra/06_geometry.md
259
- - lib/wx/doc/extra/07_colour_and_font.md
260
- - lib/wx/doc/extra/08_extensions.md
261
- - lib/wx/doc/extra/09_exceptions.md
262
- - lib/wx/doc/extra/10_art.md
263
- - lib/wx/doc/extra/11_drawing_and_dc.md
264
- - lib/wx/doc/extra/12_client_data.md
265
- - lib/wx/doc/extra/13_validators.md
266
- - lib/wx/doc/extra/14_config.md
267
- - lib/wx/doc/extra/15_persistence.md
268
273
  - lib/wx/doc/font.rb
269
274
  - lib/wx/doc/font_data.rb
270
275
  - lib/wx/doc/functions.rb
271
276
  - lib/wx/doc/gc_dc.rb
272
277
  - lib/wx/doc/gdi_common.rb
273
278
  - lib/wx/doc/generic_validator.rb
279
+ - lib/wx/doc/geometry.rb
274
280
  - lib/wx/doc/graphics_context.rb
275
281
  - lib/wx/doc/grid/grid.rb
276
282
  - lib/wx/doc/hboxsizer.rb
@@ -318,6 +324,7 @@ files:
318
324
  - lib/wx/doc/rtc/richtext_style_sheet.rb
319
325
  - lib/wx/doc/scaled_dc.rb
320
326
  - lib/wx/doc/screen_dc.rb
327
+ - lib/wx/doc/secret_store.rb
321
328
  - lib/wx/doc/sizer.rb
322
329
  - lib/wx/doc/static_bitmap.rb
323
330
  - lib/wx/doc/stc/styled_text_ctrl.rb
@@ -395,10 +402,10 @@ files:
395
402
  - lib/wx/stc/styled_text_ctrl.rb
396
403
  - lib/wx/version.rb
397
404
  - lib/wx/wxruby/base.rb
405
+ - lib/wx/wxruby/cmd/check.rb
398
406
  - lib/wx/wxruby/cmd/sampler.rb
399
407
  - lib/wx/wxruby/cmd/setup.rb
400
408
  - lib/wx/wxruby/cmd/test.rb
401
- - rakefile
402
409
  - rakelib/bin.rake
403
410
  - rakelib/bin.rb
404
411
  - rakelib/build.rake
@@ -412,18 +419,14 @@ files:
412
419
  - rakelib/install.rake
413
420
  - rakelib/install.rb
414
421
  - rakelib/lib/config.rb
415
- - rakelib/lib/config/cygwin.rb
422
+ - rakelib/lib/config/freebsd.rb
416
423
  - rakelib/lib/config/linux.rb
417
424
  - rakelib/lib/config/macosx.rb
418
425
  - rakelib/lib/config/mingw.rb
419
- - rakelib/lib/config/netbsd.rb
420
- - rakelib/lib/config/pkgman/arch.rb
421
- - rakelib/lib/config/pkgman/base.rb
422
- - rakelib/lib/config/pkgman/debian.rb
426
+ - rakelib/lib/config/pkgman/linux.rb
423
427
  - rakelib/lib/config/pkgman/macosx.rb
424
- - rakelib/lib/config/pkgman/rhel.rb
425
- - rakelib/lib/config/pkgman/suse.rb
426
428
  - rakelib/lib/config/unixish.rb
429
+ - rakelib/lib/config/unknown.rb
427
430
  - rakelib/lib/core/include/client_data.inc
428
431
  - rakelib/lib/core/include/enum.inc
429
432
  - rakelib/lib/core/include/funcall.inc
@@ -441,6 +444,7 @@ files:
441
444
  - rakelib/lib/director/about_dialog_info.rb
442
445
  - rakelib/lib/director/accelerator.rb
443
446
  - rakelib/lib/director/accessible.rb
447
+ - rakelib/lib/director/affine_matrix.rb
444
448
  - rakelib/lib/director/animation.rb
445
449
  - rakelib/lib/director/animation_ctrl.rb
446
450
  - rakelib/lib/director/any_button.rb
@@ -526,6 +530,7 @@ files:
526
530
  - rakelib/lib/director/gdi_object.rb
527
531
  - rakelib/lib/director/gdicommon.rb
528
532
  - rakelib/lib/director/generic_dirctrl.rb
533
+ - rakelib/lib/director/geometry.rb
529
534
  - rakelib/lib/director/graphics_context.rb
530
535
  - rakelib/lib/director/graphics_object.rb
531
536
  - rakelib/lib/director/grid_cell_attr.rb
@@ -633,6 +638,7 @@ files:
633
638
  - rakelib/lib/director/scroll_bar.rb
634
639
  - rakelib/lib/director/scrolled_t.rb
635
640
  - rakelib/lib/director/searchctrl.rb
641
+ - rakelib/lib/director/secret_store.rb
636
642
  - rakelib/lib/director/sizer.rb
637
643
  - rakelib/lib/director/sizer_item.rb
638
644
  - rakelib/lib/director/slider.rb
@@ -688,6 +694,7 @@ files:
688
694
  - rakelib/lib/generate/doc/animation_ctrl.yaml
689
695
  - rakelib/lib/generate/doc/art_provider.yaml
690
696
  - rakelib/lib/generate/doc/aui_manager.yaml
697
+ - rakelib/lib/generate/doc/banner_window.yaml
691
698
  - rakelib/lib/generate/doc/bitmap.yaml
692
699
  - rakelib/lib/generate/doc/box_sizer.yaml
693
700
  - rakelib/lib/generate/doc/busy_info.yaml
@@ -715,9 +722,11 @@ files:
715
722
  - rakelib/lib/generate/doc/fs_file.yaml
716
723
  - rakelib/lib/generate/doc/gdi_common.yaml
717
724
  - rakelib/lib/generate/doc/graphics_context.yaml
725
+ - rakelib/lib/generate/doc/graphics_object.yaml
718
726
  - rakelib/lib/generate/doc/grid_cell_attr.yaml
719
727
  - rakelib/lib/generate/doc/grid_ctrl.yaml
720
728
  - rakelib/lib/generate/doc/gui_event_loop.yaml
729
+ - rakelib/lib/generate/doc/header_ctrl.yaml
721
730
  - rakelib/lib/generate/doc/help_controller.yaml
722
731
  - rakelib/lib/generate/doc/html_cell.yaml
723
732
  - rakelib/lib/generate/doc/html_help_controller.yaml
@@ -725,11 +734,13 @@ files:
725
734
  - rakelib/lib/generate/doc/html_window.yaml
726
735
  - rakelib/lib/generate/doc/icon.yaml
727
736
  - rakelib/lib/generate/doc/image.yaml
737
+ - rakelib/lib/generate/doc/info_bar.yaml
728
738
  - rakelib/lib/generate/doc/keyboard_state.yaml
729
739
  - rakelib/lib/generate/doc/list_ctrl.yaml
730
740
  - rakelib/lib/generate/doc/locale.yaml
731
741
  - rakelib/lib/generate/doc/log.yaml
732
742
  - rakelib/lib/generate/doc/mdi_frame.yaml
743
+ - rakelib/lib/generate/doc/media_ctrl.yaml
733
744
  - rakelib/lib/generate/doc/memory_dc.yaml
734
745
  - rakelib/lib/generate/doc/menu.yaml
735
746
  - rakelib/lib/generate/doc/menu_item.yaml
@@ -738,6 +749,7 @@ files:
738
749
  - rakelib/lib/generate/doc/notebook.yaml
739
750
  - rakelib/lib/generate/doc/panel.yaml
740
751
  - rakelib/lib/generate/doc/pen.yaml
752
+ - rakelib/lib/generate/doc/persistent_window.yaml
741
753
  - rakelib/lib/generate/doc/pg_editor.yaml
742
754
  - rakelib/lib/generate/doc/pg_multi_button.yaml
743
755
  - rakelib/lib/generate/doc/pg_properties.yaml
@@ -748,11 +760,15 @@ files:
748
760
  - rakelib/lib/generate/doc/property_grid_interface.yaml
749
761
  - rakelib/lib/generate/doc/property_grid_manager.yaml
750
762
  - rakelib/lib/generate/doc/property_sheet_dialog.yaml
763
+ - rakelib/lib/generate/doc/rearrange_list.yaml
764
+ - rakelib/lib/generate/doc/ribbon_panel.yaml
765
+ - rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml
751
766
  - rakelib/lib/generate/doc/rich_text_html_handler.yaml
752
767
  - rakelib/lib/generate/doc/scroll_bar.yaml
753
768
  - rakelib/lib/generate/doc/scrolled_canvas.yaml
754
769
  - rakelib/lib/generate/doc/scrolled_control.yaml
755
770
  - rakelib/lib/generate/doc/scrolled_window.yaml
771
+ - rakelib/lib/generate/doc/secret_store.yaml
756
772
  - rakelib/lib/generate/doc/sizer.yaml
757
773
  - rakelib/lib/generate/doc/splash_screen.yaml
758
774
  - rakelib/lib/generate/doc/static_box.yaml
@@ -769,6 +785,7 @@ files:
769
785
  - rakelib/lib/generate/doc/validator.yaml
770
786
  - rakelib/lib/generate/doc/variant.yaml
771
787
  - rakelib/lib/generate/doc/window.yaml
788
+ - rakelib/lib/generate/doc/wizard.yaml
772
789
  - rakelib/lib/generate/doc/wizard_page_simple.yaml
773
790
  - rakelib/lib/generate/doc/xml_node.yaml
774
791
  - rakelib/lib/generate/doc/xml_resource.yaml
@@ -829,8 +846,15 @@ files:
829
846
  - samples/dragdrop/dragdrop.rb
830
847
  - samples/dragdrop/tn_dragdrop.png
831
848
  - samples/drawing/SVGlogo24.xpm
849
+ - samples/drawing/art/drawing/image.bmp
850
+ - samples/drawing/art/drawing/mask.bmp
851
+ - samples/drawing/art/drawing/pat35.bmp
852
+ - samples/drawing/art/drawing/pat36.bmp
853
+ - samples/drawing/art/drawing/pat4.bmp
854
+ - samples/drawing/art/drawing/smile.xpm
832
855
  - samples/drawing/bitmap.rb
833
856
  - samples/drawing/bitmap_image.rb
857
+ - samples/drawing/drawing.rb
834
858
  - samples/drawing/graphics_drawing.rb
835
859
  - samples/drawing/image_prt.rb
836
860
  - samples/drawing/maths_images.rb
@@ -838,6 +862,7 @@ files:
838
862
  - samples/drawing/ruby-logo.jpg
839
863
  - samples/drawing/tn_bitmap.png
840
864
  - samples/drawing/tn_bitmap_image.png
865
+ - samples/drawing/tn_drawing.png
841
866
  - samples/drawing/tn_graphics_drawing.png
842
867
  - samples/drawing/tn_image_prt.png
843
868
  - samples/drawing/tn_maths_images.png
@@ -925,22 +950,12 @@ files:
925
950
  - samples/ribbon/triangle.xpm
926
951
  - samples/sample.xpm
927
952
  - samples/sampler.rb
928
- - samples/sampler/back.xpm
929
- - samples/sampler/copy.xpm
930
- - samples/sampler/cut.xpm
931
953
  - samples/sampler/editor.rb
932
954
  - samples/sampler/ext.rb
933
- - samples/sampler/filesave.xpm
934
- - samples/sampler/find.xpm
935
- - samples/sampler/findrepl.xpm
936
- - samples/sampler/forward.xpm
937
- - samples/sampler/paste.xpm
938
955
  - samples/sampler/play.xpm
939
- - samples/sampler/redo.xpm
940
956
  - samples/sampler/sample.rb
941
957
  - samples/sampler/stc_editor.rb
942
958
  - samples/sampler/txt_editor.rb
943
- - samples/sampler/undo.xpm
944
959
  - samples/splash/mobile.xpm
945
960
  - samples/splash/splash.png
946
961
  - samples/splash/splash.rb
@@ -1126,6 +1141,7 @@ files:
1126
1141
  - tests/test_pg.rb
1127
1142
  - tests/test_proof_check.rb
1128
1143
  - tests/test_richtext.rb
1144
+ - tests/test_secret_store.rb
1129
1145
  - tests/test_sizer.rb
1130
1146
  - tests/test_std_controls.rb
1131
1147
  - tests/test_styled_text_ctrl.rb
@@ -1141,17 +1157,20 @@ licenses:
1141
1157
  - MIT
1142
1158
  metadata:
1143
1159
  bug_tracker_uri: https://github.com/mcorino/wxRuby3/issues
1160
+ homepage_uri: https://github.com/mcorino/wxRuby3/wiki
1144
1161
  source_code_uri: https://github.com/mcorino/wxRuby3
1145
1162
  documentation_uri: https://mcorino.github.io/wxRuby3
1146
- homepage_uri: https://github.com/mcorino/wxRuby3
1147
- post_install_message: |2+
1148
-
1149
- The wxRuby3 Gem has been successfully installed.
1150
- Before being able to use wxRuby3 you need to run the post-install setup process
1151
- by executing the command 'wxruby setup'.
1152
-
1153
- Run 'wxruby setup -h' to see information on the available commandline options.
1154
-
1163
+ github_repo: https://github.com/mcorino/wxRuby3
1164
+ post_install_message: "\nThe wxRuby3 Gem has been successfully installed including
1165
+ the 'wxruby' utility.\n\nIn case no suitable binary release package was available
1166
+ for your platform you \nwill need to run the post-install setup process by executing:\n\n$
1167
+ wxruby setup\n\nTo check whether wxRuby3 is ready to run or not you can at any time
1168
+ execute the \nfollowing command:\n\n$ wxruby check\n\nRun 'wxruby check -h' for
1169
+ more information.\n\nWhen the wxRuby3 setup has been fully completed you can start
1170
+ using wxRuby3.\n\nYou can run the regression tests to verify the installation by
1171
+ executing:\n\n$ wxruby test\n\nThe wxRuby3 sample explorer can be run by executing:\n\n$
1172
+ wxruby sampler\n\nHave fun using wxRuby3.\n\nRun 'wxruby -h' to see information
1173
+ on the available commands.\n\n"
1155
1174
  rdoc_options:
1156
1175
  - "--exclude=\\.dll"
1157
1176
  - "--exclude=\\.so"
@@ -1171,7 +1190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1171
1190
  - !ruby/object:Gem::Version
1172
1191
  version: '0'
1173
1192
  requirements: []
1174
- rubygems_version: 3.4.19
1193
+ rubygems_version: 3.5.9
1175
1194
  signing_key:
1176
1195
  specification_version: 4
1177
1196
  summary: wxWidgets extension for Ruby
@@ -1,154 +0,0 @@
1
- <!--
2
- # @markup markdown
3
- # @title 0. Overview of wxRuby
4
- -->
5
-
6
- # 0. Overview of wxRuby
7
-
8
- ## What is wxRuby?
9
-
10
- wxRuby3 is a cross-platform GUI library for Ruby, based on the popular [wxWidgets](https://wxwidgets.org)
11
- cross platform GUI toolkit for C++. It uses native widgets wherever possible, providing
12
- the correct look, feel and behaviour to GUI applications on Windows, OS
13
- X and Linux/GTK. wxRuby aims to provide a comprehensive solution to
14
- developing professional-standard desktop applications in Ruby.
15
-
16
- Like Ruby and wxWidgets, wxRuby is Open Source, which means that it is free for anyone to use and the source code
17
- is available for anyone to look at and use in any way they like. Also, anyone can contribute (tested) fixes, additions
18
- and enhancements to the project.
19
-
20
- Like wxWidgets wxRuby is a cross platform toolkit. This means that the same program will run on multiple platforms
21
- without modification. Currently Supported platforms are Microsoft Windows, MacOSX and Linux or other
22
- unix-like systems with GTK2 or GTK3 libraries. Contributions to achieve support for other wxWidgets supported platforms
23
- are appreciated.
24
-
25
- Since the programming language is Ruby, wxRuby programs are simple and easy to write and understand. To accomplish the
26
- full Ruby experience wxRuby has not ported the wxWidgets API 1 on 1 to Ruby but has made an effort to make the wxRuby
27
- API typically Ruby-ish. This means all method signatures (names, arguments) have been transformed to conform to common
28
- Ruby naming rules as well as other Ruby programming practices. Also does wxRuby introduce iterators in favor of getters
29
- returning arrays or lists.
30
- Check out the samples and the documentation for details.
31
-
32
- ## What is wxRuby3?
33
-
34
- The wxRuby3 project is a new, rebooted, implementation of wxRuby (as compared to wxRuby2 and earlier versions) with the
35
- clear intent to make this implementation better maintainable and extensible.
36
-
37
- To this end wxRuby3 adopted much of the approach of the wxPython Phoenix project in that the wxRuby API is generated
38
- from the wxWidgets XML interface definitions. Unlike the Phoenix project however, wxRuby does not use a home-grown
39
- interface code generator but rather still relies on SWIG for that (with Ruby tooling to configure and post-process).
40
- The wxRuby generation process more or less conforms to:
41
-
42
- 1. build wxWidgets interface XML
43
- 2. parse interface XML
44
- 3. generate SWIG interface definitions
45
- 4. generate Ruby extension code with SWIG
46
- 5. post-process Ruby extension code
47
-
48
- As the wxRuby tooling is already parsing the full wxWidgets interface specs (from which wxWidgets generates it's own
49
- reference documentation) it also uses the parsed information to generate matching reference documentation for the
50
- wxRuby API. This documentation is not (yet) perfect but should go a long way in helping people using wxRuby to build
51
- GUI applications.
52
-
53
- The wxRuby3 API is largely compatible with the earlier wxRuby incarnations but not 100% mostly due to more
54
- modularization and more explicit typing of (especially) enums. Also wxRuby3 exclusively targets a lot more modern
55
- versions of wxWidgets (>= 3.2) and Ruby (>= 2.5) so there are some shifts from that as well. All in all though,
56
- people that once took a stab at looking at wxRuby(2) should not have much problems getting up to speed again.
57
-
58
- ## Quick start
59
-
60
- To create an application with wxRuby you need to require the wxRuby libraries:
61
-
62
- ```ruby
63
- require 'wx'
64
- ```
65
-
66
- Next would be the application code and a main entry point. With wxRuby (as with wxWidgets) the entry
67
- point is mostly just a simple call to start the applications event loop (as we're talking about event
68
- based GUI applications here).
69
- In wxRuby the Wx::App class provides some typically Ruby-style magic to make this as easy as possible.
70
-
71
- Using this the simplest Hello World application could be:
72
-
73
- ```ruby
74
- require 'wx'
75
- Wx::App.run { puts 'Hello world!' }
76
- ```
77
-
78
- As you can see there is no obligation to create an instance of the Wx::App class in wxRuby for
79
- (admittedly extremely) simple applications. Calling the #run class method with a block will suffice.<br>
80
- The class method will create an instance of the generic Wx::App class under the hood and use the
81
- provided block as the #on_init callback. As the code inside the block returns a false-type value (#puts
82
- returns `nil`) the application will terminate immediately after writing "Hello world!" to standard
83
- output (actually not even starting the event loop at all).
84
-
85
- Of course this is not truly a GUI application so let's elaborate a little to make the GUI element
86
- more real.
87
-
88
- ```ruby
89
- require 'wx'
90
- Wx::App.run { Wx::Frame.new(nil, title: 'Hello World!').show }
91
- ```
92
-
93
- Executing this will create a generic Frame instance in the on_init callback of the application
94
- and show the frame. As #show returns a true-type when successful the event loop will actually be
95
- started and keep the application running until the frame is closed.
96
-
97
- ## The application class
98
-
99
- For more complex applications the approach demonstrated above will quickly become insufficient. In those cases
100
- creating a specialized derived App class is the better option.
101
- This provides the possibility (as with all Ruby classes) to override the constructor (#initialize) for
102
- custom initialization, attribute definitions and create customized #on_init and/or #on_exit methods like
103
- this:
104
-
105
- ```ruby
106
- require 'wx'
107
-
108
- class MyApp < Wx::App
109
- def initialize
110
- super
111
- @frame = nil
112
- end
113
- attr_reader :frame
114
-
115
- def on_init
116
- @frame = Wx::Frame.new(nil, title: 'Hello World!')
117
- @frame.show
118
- end
119
-
120
- def on_exit
121
- puts 'Exiting.'
122
- end
123
- end
124
- ```
125
-
126
- When creating #on_init/#on_exit methods it is important to understand that those would not be overrides (as is the case
127
- with wxWidgets itself). The base Wx::App class actually does not define these methods so it's also not needed (even not possible)
128
- to call `super` in the implementation. The wxRuby application class implementation will call the wxWidget OnInit base implementation
129
- itself and after successful completion check for the existence of an #on_init method (which could also be 'automagicallly'
130
- created from a block passed to #run) and call that if available or terminate the application if not. The
131
- exit sequence of executions are similar but reversed (first a possible #on_exit method and than the wxWidgets base OnExit).
132
-
133
- What remains though is that for a derived application class it is still not necessary to explicitly create a class instance.
134
- Simply calling the #run class method will suffice.
135
-
136
- ```ruby
137
- MyApp.run
138
- ```
139
-
140
- The current application instance (as long as the application is active) can always be retrieved by
141
- calling `Wx.get_app`.
142
-
143
- ## wxRuby modules
144
-
145
- The toplevel module of the wxRuby library is the `Wx` module and when using `require 'wx'` to load the wxRuby library
146
- **all** constants and classes are loaded and can be accessed from that scope like `Wx::Frame` or `Wx::RichTextCtrl`
147
- like previous versions of wxRuby supported.
148
-
149
- With the current wxRuby library however a more modular approach has been used similar to wxWidgets itself which
150
- distributes implementations over various sub-modules. These sub-modules can be loaded separately to provide more control.
151
- The core module still provides the toplevel `Wx` namespace and all classes and constants declared in that namespace.
152
- All other modules add to that (and **all** require the core module).
153
-
154
- See [here](01_packages.md) for more details on wxRuby sub-modules.
@@ -1,180 +0,0 @@
1
- <!--
2
- # @markup markdown
3
- # @title 1. wxRuby Modules
4
- -->
5
-
6
- # 1. wxRuby Modules
7
-
8
- ## Introduction
9
-
10
- Previous wxRuby implementations provided a single toplevel module approach for the wxRuby API with a single loading
11
- option. Including `require 'wx'` in any application would load the entire wxRuby library and make all classes, module
12
- methods and constants available under the `Wx` toplevel module.
13
-
14
- The wxRuby3 project however implements a more modular approach similar to wxWidgets itself which distributes
15
- implementations over various sub-modules. These sub-modules can be loaded separately to provide more control.
16
- The core module still provides the toplevel `Wx` namespace and all classes and constants declared in that namespace.
17
- All other modules add to that (and **all** require the core module).
18
-
19
- ## Loading and Naming scopes
20
-
21
- The *old* **all-in-one** approach in still supported with the wxRuby3 project. Using
22
-
23
- ```ruby
24
- require 'wx'
25
- ```
26
-
27
- will load all wxRuby API modules and make all classes and constants available from the `Wx` toplevel module. This
28
- *global* naming scope approach does **not** extend to class or module methods (including dialog *functors*; see
29
- [here](03_dialogs.md) for more information).
30
-
31
- The *new* sub-module approach however allows for loading only part(s) of the wxRuby library like:
32
-
33
- ```ruby
34
- require 'wx/core' # load wxRuby core Wx module
35
- require 'wx/grid' # load wxRuby Wx::GRID module - provides Grid control
36
- require 'wx/rtc' # load wxRuby Wx::RTC module - provides RichText control
37
- ```
38
-
39
- However, when loading the library like this scoping rules change by default. Specifically the constants and classes
40
- from the loaded sub-modules will **not** be accessible from the `Wx` scope anymore (like `Wx::Grid`) but must instead be
41
- explicitly scoped from the sub-module (like `Wx::GRID::Grid`).
42
-
43
- It is possible to revert the 'global scope' resolution behaviour by setting the toplevel constant `WX_GLOBAL_CONSTANTS` to
44
- `true` before the require statements like:
45
-
46
- ```ruby
47
- WX_GLOBAL_CONSTANTS=true
48
- require 'wx/core' # load wxRuby core Wx module
49
- require 'wx/grid' # load wxRuby Wx::GRID module - provides Grid control
50
- require 'wx/rtc' # load wxRuby Wx::RTC module - provides RichText control
51
- ```
52
-
53
- ## Modules
54
-
55
- Currently the following modules have been implemented.
56
-
57
- ### Core
58
-
59
- The core wxRuby package providing the toplevel {Wx} module.
60
- This package includes basic classes like:
61
-
62
- - {Wx::Object}
63
- - {Wx::EvtHandler}
64
- - {Wx::Event}
65
- - {Wx::CommandEvent}
66
- - {Wx::App}
67
- - {Wx::Window}
68
- - {Wx::NonOwnedWindow}
69
- - {Wx::TopLevelWindow}
70
- - {Wx::Frame}
71
- - {Wx::Dialog}
72
-
73
- as well as most common window classes, control/widget classes, event classes, constant and enum definitions
74
- and global functions not part of any of the other packages.
75
-
76
- ### AUI - Advanced User Interface controls and related classes
77
-
78
- The wxRuby AUI package providing the {Wx::AUI} module.
79
- This package includes all classes, constants and enum definitions that are considered part of the
80
- wxWidgets AUI framework like:
81
-
82
- - {Wx::AUI::AuiManager}
83
- - {Wx::AUI::AuiMDIParentFrame}
84
- - {Wx::AUI::AuiMDIChildFrame}
85
- - {Wx::AUI::AuiMDIClientWindow}
86
- - etc
87
-
88
- ### GRID - Grid control and related classes
89
-
90
- The wxRuby GRID package providing the {Wx::GRID} module.
91
- This package includes all classes, constants and enum definitions that are associated with the
92
- wxWidgets wxGrid control like:
93
-
94
- - {Wx::GRID::Grid}
95
- - {Wx::GRID::GridTableBase}
96
- - {Wx::GRID::GridCellEditor}
97
- - {Wx::GRID::GridCellRenderer}
98
- - {Wx::GRID::GridEvent}
99
- - etc
100
-
101
- ### HTML - Html framework classes
102
-
103
- The wxRuby HTML package providing the {Wx::HTML} module.
104
- This package includes all classes, constants and enum definitions that are considered part of the
105
- wxWidgets Html framework like:
106
-
107
- - {Wx::HTML::HtmlWindow}
108
- - {Wx::HTML::HtmlHelpWindow}
109
- - {Wx::HTML::HtmlPrintout}
110
- - {Wx::HTML::HtmlHelpController}
111
- - {Wx::HTML::HtmlListBox}
112
- - etc
113
-
114
- ### PG - PropertyGrid control and related classes
115
-
116
- The wxRuby PG package providing the {Wx::PG} module.
117
- This package includes all classes, constants and enum definitions that are associated with the
118
- wxWidgets wxPropertyGrid control like:
119
-
120
- - {Wx::PG::PropertyGrid}
121
- - {Wx::PG::PropertyGridManager}
122
- - {Wx::PG::PGCell}
123
- - {Wx::PG::PGProperty}
124
- - {Wx::PG::PropertyGridEvent}
125
- - etc
126
-
127
- ### PRT - Printing framework classes
128
-
129
- The wxRuby PRT package providing the {Wx::PRT} module.
130
- This package includes all classes, constants and enum definitions that are considered part of the
131
- wxWidgets Printing framework like:
132
-
133
- - {Wx::PRT::PreviewFrame}
134
- - {Wx::PRT::Printer}
135
- - {Wx::PRT::PrinterDC}
136
- - {Wx::PRT::PrintDialog}
137
- - etc
138
-
139
- ### RBN - Ribbon framework classes
140
-
141
- The wxRuby RBN package providing the {Wx::RBN} module.
142
- This package includes all classes, constants and enum definitions that are considered part of the
143
- wxWidgets Ribbon framework like:
144
-
145
- - {Wx::RBN::RibbonControl}
146
- - {Wx::RBN::RibbonGallery}
147
- - {Wx::RBN::RibbonPanel}
148
- - {Wx::RBN::RibbonPage}
149
- - {Wx::RBN::RibbonBar}
150
- - etc
151
-
152
- ### RTC - RichText control and related classes
153
-
154
- The wxRuby RTC package providing the {Wx::RTC} module.
155
- This package includes all classes, constants and enum definitions that are associated with the
156
- wxWidgets wxRichTextCtrl control like:
157
-
158
- - {Wx::RTC::RichTextCtrl}
159
- - {Wx::RTC::RichTextEvent}
160
- - {Wx::RTC::RichTextBuffer}
161
- - etc
162
-
163
- ### STC - StyledText control and related classes
164
-
165
- The wxRuby STC package providing the {Wx::STC} module.
166
- This package includes all classes, constants and enum definitions that are associated with the
167
- wxWidgets wxStyledTextCtrl control (Scintilla integration) like:
168
-
169
- - {Wx::STC::StyledTextCtrl}
170
- - {Wx::STC::StyledTextEvent}
171
-
172
- ## Feature dependencies
173
-
174
- Availability of wxRuby packages is controlled by the wxWidget feature switches. The default build options will
175
- include all platform supported features but in case of building wxRuby for customized wxWidgets builds the wxRuby3
176
- build procedures will take the wxWidgets settings into account.
177
-
178
- If for instance wxWidgets was built without Html support (using the configure `--disable-html` switch) the wxRuby
179
- HTML package will not be available as well.
180
- This behavior is controlled by the `wxUSE_xxx` macros that wxRuby extracts from the wxWidgets `wx/setup.h` file.