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

Sign up to get free protection for your applications and to get access to all the features.
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
  #