wxruby3 0.9.0.pre.beta.10 → 0.9.0.pre.beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +85 -0
  3. data/README.md +2 -0
  4. data/assets/logo.png +0 -0
  5. data/assets/logo.svg +170 -0
  6. data/assets/logo.xcf +0 -0
  7. data/ext/wxruby3/include/wxruby-ScaledDC.h +549 -0
  8. data/ext/wxruby3/swig/wx.i +1 -1
  9. data/lib/wx/core/array_ext.rb +26 -0
  10. data/lib/wx/core/art_locator.rb +92 -0
  11. data/lib/wx/core/artprovider.rb +1 -1
  12. data/lib/wx/core/bitmap.rb +90 -53
  13. data/lib/wx/core/cursor.rb +12 -0
  14. data/lib/wx/core/data_object.rb +74 -6
  15. data/lib/wx/core/dataformat.rb +3 -1
  16. data/lib/wx/core/dc.rb +76 -52
  17. data/lib/wx/core/enum.rb +4 -0
  18. data/lib/wx/core/event.rb +38 -5
  19. data/lib/wx/core/evthandler.rb +64 -23
  20. data/lib/wx/core/icon.rb +50 -35
  21. data/lib/wx/core/id_helper.rb +32 -0
  22. data/lib/wx/core/image.rb +63 -53
  23. data/lib/wx/core/point.rb +35 -10
  24. data/lib/wx/core/real_point.rb +35 -10
  25. data/lib/wx/core/rect.rb +44 -9
  26. data/lib/wx/core/region_iterator.rb +37 -0
  27. data/lib/wx/core/size.rb +32 -5
  28. data/lib/wx/core/window.rb +8 -31
  29. data/lib/wx/doc/array_ext.rb +27 -0
  30. data/lib/wx/doc/art_locator.rb +57 -0
  31. data/lib/wx/doc/bitmap.rb +27 -0
  32. data/lib/wx/doc/clipboard.rb +12 -0
  33. data/lib/wx/doc/const.rb +77 -0
  34. data/lib/wx/doc/cursor.rb +16 -0
  35. data/lib/wx/doc/data_object.rb +103 -0
  36. data/lib/wx/doc/dc.rb +63 -46
  37. data/lib/wx/doc/event.rb +24 -0
  38. data/lib/wx/doc/events.rb +14 -0
  39. data/lib/wx/doc/evthandler.rb +24 -3
  40. data/lib/wx/doc/extra/00_starting.md +1 -1
  41. data/lib/wx/doc/extra/06_geometry.md +10 -4
  42. data/lib/wx/doc/extra/10_art.md +105 -0
  43. data/lib/wx/doc/gc_dc.rb +21 -0
  44. data/lib/wx/doc/gdi_common.rb +155 -6
  45. data/lib/wx/doc/graphics_context.rb +42 -0
  46. data/lib/wx/doc/icon.rb +18 -0
  47. data/lib/wx/doc/id_helper.rb +25 -0
  48. data/lib/wx/doc/image.rb +33 -0
  49. data/lib/wx/doc/region_iterator.rb +31 -0
  50. data/lib/wx/doc/scaled_dc.rb +17 -0
  51. data/lib/wx/doc/window.rb +18 -0
  52. data/lib/wx/global_const.rb +4 -3
  53. data/lib/wx/version.rb +1 -1
  54. data/lib/wx/wxruby/cmd/sampler.rb +3 -21
  55. data/rakelib/lib/config.rb +4 -4
  56. data/rakelib/lib/core/package.rb +6 -6
  57. data/rakelib/lib/core/spec.rb +2 -0
  58. data/rakelib/lib/director/art_provider.rb +2 -2
  59. data/rakelib/lib/director/busy_info.rb +9 -7
  60. data/rakelib/lib/director/clipboard.rb +1 -1
  61. data/rakelib/lib/director/colour_picker_ctrl.rb +1 -0
  62. data/rakelib/lib/director/data_object.rb +162 -0
  63. data/rakelib/lib/director/data_object_simple_base.rb +123 -0
  64. data/rakelib/lib/director/derived_dc.rb +134 -2
  65. data/rakelib/lib/director/dir_picker_ctrl.rb +1 -0
  66. data/rakelib/lib/director/event.rb +73 -8
  67. data/rakelib/lib/director/events.rb +19 -1
  68. data/rakelib/lib/director/file_picker_ctrl.rb +1 -0
  69. data/rakelib/lib/director/font_picker_ctrl.rb +1 -0
  70. data/rakelib/lib/director/gdicommon.rb +1 -3
  71. data/rakelib/lib/director/graphics_context.rb +89 -0
  72. data/rakelib/lib/director/help_controller.rb +2 -2
  73. data/rakelib/lib/director/html_data_object.rb +37 -0
  74. data/rakelib/lib/director/image.rb +55 -0
  75. data/rakelib/lib/director/region_iterator.rb +48 -0
  76. data/rakelib/lib/director/richtext_buffer.rb +1 -1
  77. data/rakelib/lib/director/richtext_buffer_data_object.rb +45 -0
  78. data/rakelib/lib/director/scroll_bar.rb +39 -0
  79. data/rakelib/lib/director/slider.rb +39 -0
  80. data/rakelib/lib/director/window.rb +36 -5
  81. data/rakelib/lib/director/window_disabler.rb +0 -7
  82. data/rakelib/lib/extractor/class.rb +1 -1
  83. data/rakelib/lib/extractor/function.rb +1 -1
  84. data/rakelib/lib/generate/doc.rb +26 -6
  85. data/rakelib/lib/specs/interfaces.rb +8 -1
  86. data/rakelib/lib/typemap/common.rb +1 -1
  87. data/rakelib/lib/typemap/data_object_data.rb +13 -4
  88. data/rakelib/lib/util/string.rb +29 -8
  89. data/samples/art/wxruby-128x128.png +0 -0
  90. data/samples/art/wxruby-256x256.png +0 -0
  91. data/samples/art/wxruby-64x64.png +0 -0
  92. data/samples/art/wxruby.ico +0 -0
  93. data/samples/art/wxruby.png +0 -0
  94. data/samples/drawing/graphics_drawing.rb +1 -2
  95. data/samples/propgrid/propgrid.rb +65 -65
  96. data/samples/sample.xpm +246 -470
  97. data/samples/treectrl/treectrl.rb +1 -1
  98. data/tests/art/my_art/sample.xpm +251 -0
  99. data/tests/art/sample3.xpm +251 -0
  100. data/tests/art/test_art/bitmap/sample.xpm +251 -0
  101. data/tests/art/test_art/bitmap/wxruby.bmp +0 -0
  102. data/tests/art/test_art/bitmap/wxruby.png +0 -0
  103. data/tests/art/test_art/bitmap/wxruby.xpm +251 -0
  104. data/tests/art/test_art/cursor/wxruby.bmp +0 -0
  105. data/tests/art/test_art/icon/sample.xpm +251 -0
  106. data/tests/art/test_art/icon/wxruby.ico +0 -0
  107. data/tests/art/test_art/icon/wxruby.png +0 -0
  108. data/tests/art/test_art/image/sample.xpm +251 -0
  109. data/tests/art/test_art/image/wxruby.jpg +0 -0
  110. data/tests/art/test_art/image/wxruby.png +0 -0
  111. data/tests/art/test_art/sample2.xpm +251 -0
  112. data/tests/lib/wxapp_runner.rb +64 -0
  113. data/tests/test_art.rb +91 -0
  114. data/tests/test_basic.rb +0 -5
  115. data/tests/test_clipboard.rb +149 -17
  116. data/tests/test_dc.rb +70 -0
  117. data/tests/test_dialog.rb +2 -13
  118. data/tests/test_event_handling.rb +2 -13
  119. data/tests/test_events.rb +14 -6
  120. data/tests/test_geometry.rb +67 -17
  121. data/tests/test_intl.rb +2 -15
  122. data/tests/test_item_data.rb +2 -15
  123. data/tests/test_variant.rb +1 -15
  124. data/tests/testapp.rb +0 -5
  125. data/tests/testapp_noframe.rb +0 -5
  126. metadata +56 -5
@@ -62,10 +62,13 @@ module WXRuby3
62
62
  rbnm
63
63
  end
64
64
 
65
- def rb_constant_name(name)
66
- rbnm = underscore(name)
65
+ def rb_constant_name(name, do_transform = true)
66
+ rbnm = do_transform ? underscore(name) : name.dup
67
67
  rbnm.sub!(/\Awx_/, '')
68
- rbnm.upcase!
68
+ unless do_transform
69
+ rbnm.sub!(/\Awx([A-Z])/, '\1')
70
+ end
71
+ rbnm.upcase! if do_transform
69
72
  rbnm
70
73
  end
71
74
 
@@ -85,10 +88,17 @@ module WXRuby3
85
88
 
86
89
  def rb_constant_value(name)
87
90
  val = name.sub(/\Awx/, 'Wx::')
88
- val == 'NULL' ? 'nil' : val
91
+ case val
92
+ when /NULL|nullptr/
93
+ 'nil'
94
+ when /EmptyString/
95
+ %q['']
96
+ else
97
+ val
98
+ end
89
99
  end
90
100
 
91
- def rb_constant_expression(exp)
101
+ def rb_constant_expression(exp, const_xref)
92
102
  exp.gsub(/(\w+(::\w+)*)(\s*\()?/) do |s|
93
103
  idstr = $1
94
104
  is_call = !!$3
@@ -119,15 +129,26 @@ module WXRuby3
119
129
  else
120
130
  if is_scoped
121
131
  # nested identifier
132
+ if const_xref.has_key?(rb_constant_name(idstr))
133
+ "#{scoped_name}::#{rb_constant_name(idstr)}"
134
+ elsif const_xref.has_key?(rb_constant_name(idstr, false))
135
+ "#{scoped_name}::#{rb_constant_name(idstr, false)}"
136
+ end
122
137
  "#{scoped_name}::#{idstr}"
123
138
  else
124
139
  # constant
125
140
  if /[\-\+\.\d]+/ =~ idstr
126
141
  idstr # numeric constant
127
- elsif /\A(true|false|NULL)/ =~ idstr
128
- $1 == 'NULL' ? 'nil' : $1
142
+ elsif /\A(true|false|NULL|nullptr)/ =~ idstr
143
+ ($1 == 'NULL' || $1 == 'nullptr') ? 'nil' : $1
129
144
  else
130
- "Wx::#{rb_constant_name(idstr)}"
145
+ if const_xref.has_key?(rb_constant_name(idstr))
146
+ "#{const_xref[rb_constant_name(idstr)]['mod']}::#{rb_constant_name(idstr)}"
147
+ elsif const_xref.has_key?(rb_constant_name(idstr, false))
148
+ "#{const_xref[rb_constant_name(idstr, false)]['mod']}::#{rb_constant_name(idstr, false)}"
149
+ else
150
+ rb_constant_value(idstr)
151
+ end
131
152
  end
132
153
  end
133
154
  end
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -155,8 +155,7 @@ class GraphicsWindow < Wx::Window
155
155
  def on_paint
156
156
  # We do our drawing now
157
157
  rect = self.get_client_size
158
- paint do |dc|
159
- gdc = Wx::GraphicsContext.create(dc)
158
+ Wx::GraphicsContext.draw_on(self) do |gdc|
160
159
  unless @rtxt
161
160
  create_resources(gdc)
162
161
  end
@@ -286,75 +286,75 @@ class MyColourProperty < Wx::PG::ColourProperty
286
286
  end
287
287
 
288
288
  module ID
289
- %i[
290
- PGID
291
- ABOUT
292
- QUIT
293
- APPENDPROP
294
- APPENDCAT
295
- INSERTPROP
296
- INSERTCAT
297
- ENABLE
298
- SETREADONLY
299
- HIDE
300
- BOOL_CHECKBOX
301
- DELETE
302
- DELETER
303
- DELETEALL
304
- UNSPECIFY
305
- ITERATE1
306
- ITERATE2
307
- ITERATE3
308
- ITERATE4
309
- CLEARMODIF
310
- FREEZE
311
- DUMPLIST
312
- COLOURSCHEME1
313
- COLOURSCHEME2
314
- COLOURSCHEME3
315
- CATCOLOURS
316
- SETBGCOLOUR
317
- SETBGCOLOURRECUR
318
- STATICLAYOUT
319
- POPULATE1
320
- POPULATE2
321
- COLLAPSE
322
- COLLAPSEALL
323
- GETVALUES
324
- SETVALUES
325
- SETVALUES2
326
- RUNTESTFULL
327
- RUNTESTPARTIAL
328
- FITCOLUMNS
329
- CHANGEFLAGSITEMS
330
- TESTINSERTCHOICE
331
- TESTDELETECHOICE
332
- INSERTPAGE
333
- REMOVEPAGE
334
- SETSPINCTRLEDITOR
335
- SETPROPERTYVALUE
336
- TESTREPLACE
337
- SETCOLUMNS
338
- SETVIRTWIDTH
339
- SETPGDISABLED
340
- TESTXRC
341
- ENABLECOMMONVALUES
342
- SELECTSTYLE
343
- SAVESTATE
344
- RESTORESTATE
345
- RUNMINIMAL
346
- ENABLELABELEDITING
347
- VETOCOLDRAG
348
- ONEXTENDEDKEYNAV
349
- SHOWPOPUP
350
- POPUPGRID
351
- ].each_with_index { |sym, ix| self.const_set(sym, ix+1) }
289
+ include Wx::IDHelper
290
+
291
+ PGID = self.next_id
292
+ ABOUT = self.next_id
293
+ QUIT = self.next_id
294
+ APPENDPROP = self.next_id
295
+ APPENDCAT = self.next_id
296
+ INSERTPROP = self.next_id
297
+ INSERTCAT = self.next_id
298
+ ENABLE = self.next_id
299
+ SETREADONLY = self.next_id
300
+ HIDE = self.next_id
301
+ BOOL_CHECKBOX = self.next_id
302
+ DELETE = self.next_id
303
+ DELETER = self.next_id
304
+ DELETEALL = self.next_id
305
+ UNSPECIFY = self.next_id
306
+ ITERATE1 = self.next_id
307
+ ITERATE2 = self.next_id
308
+ ITERATE3 = self.next_id
309
+ ITERATE4 = self.next_id
310
+ CLEARMODIF = self.next_id
311
+ FREEZE = self.next_id
312
+ DUMPLIST = self.next_id
313
+ COLOURSCHEME1 = self.next_id
314
+ COLOURSCHEME2 = self.next_id
315
+ COLOURSCHEME3 = self.next_id
316
+ CATCOLOURS = self.next_id
317
+ SETBGCOLOUR = self.next_id
318
+ SETBGCOLOURRECUR = self.next_id
319
+ STATICLAYOUT = self.next_id
320
+ POPULATE1 = self.next_id
321
+ POPULATE2 = self.next_id
322
+ COLLAPSE = self.next_id
323
+ COLLAPSEALL = self.next_id
324
+ GETVALUES = self.next_id
325
+ SETVALUES = self.next_id
326
+ SETVALUES2 = self.next_id
327
+ RUNTESTFULL = self.next_id
328
+ RUNTESTPARTIAL = self.next_id
329
+ FITCOLUMNS = self.next_id
330
+ CHANGEFLAGSITEMS = self.next_id
331
+ TESTINSERTCHOICE = self.next_id
332
+ TESTDELETECHOICE = self.next_id
333
+ INSERTPAGE = self.next_id
334
+ REMOVEPAGE = self.next_id
335
+ SETSPINCTRLEDITOR = self.next_id
336
+ SETPROPERTYVALUE = self.next_id
337
+ TESTREPLACE = self.next_id
338
+ SETCOLUMNS = self.next_id
339
+ SETVIRTWIDTH = self.next_id
340
+ SETPGDISABLED = self.next_id
341
+ TESTXRC = self.next_id
342
+ ENABLECOMMONVALUES = self.next_id
343
+ SELECTSTYLE = self.next_id
344
+ SAVESTATE = self.next_id
345
+ RESTORESTATE = self.next_id
346
+ RUNMINIMAL = self.next_id
347
+ ENABLELABELEDITING = self.next_id
348
+ VETOCOLDRAG = self.next_id
349
+ ONEXTENDEDKEYNAV = self.next_id
350
+ SHOWPOPUP = self.next_id
351
+ POPUPGRID = self.next_id
352
352
 
353
353
  if Wx.has_feature?(:USE_HEADERCTRL)
354
- SHOWHEADER = POPUPGRID+1
354
+ SHOWHEADER = self.next_id
355
355
  end
356
356
 
357
- COLOURSCHEME4 = 100
357
+ COLOURSCHEME4 = self.next_id
358
358
  end
359
359
 
360
360
  #