wxruby3 0.9.7 → 1.0.0
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.
- checksums.yaml +4 -4
- data/INSTALL.md +183 -42
- data/README.md +40 -48
- data/ext/mkrf_conf_ext.rb +72 -0
- data/lib/wx/core/app.rb +16 -0
- data/lib/wx/core/colour.rb +36 -28
- data/lib/wx/core/const.rb +19 -0
- data/lib/wx/core/enum.rb +17 -1
- data/lib/wx/core/geometry.rb +121 -0
- data/lib/wx/core/graphics_pen_info.rb +18 -0
- data/lib/wx/core/image.rb +49 -0
- data/lib/wx/core/menu_bar.rb +11 -0
- data/lib/wx/core/paintdc.rb +9 -3
- data/lib/wx/core/secret_store.rb +38 -0
- data/lib/wx/doc/app.rb +97 -41
- data/lib/wx/doc/bitmap.rb +4 -0
- data/lib/wx/doc/client_dc.rb +2 -2
- data/lib/wx/doc/clipboard.rb +1 -1
- data/lib/wx/doc/colour.rb +12 -0
- data/lib/wx/doc/const.rb +16 -0
- data/lib/wx/doc/cursor.rb +4 -0
- data/lib/wx/doc/dc_overlay.rb +34 -0
- data/lib/wx/doc/enum.rb +7 -1
- data/lib/wx/doc/event_blocker.rb +1 -1
- data/lib/wx/doc/evthandler.rb +25 -3
- data/lib/wx/doc/functions.rb +3 -6
- data/lib/wx/doc/gc_dc.rb +13 -4
- data/lib/wx/doc/geometry.rb +136 -0
- data/lib/wx/doc/graphics_context.rb +25 -7
- data/lib/wx/doc/icon.rb +4 -0
- data/lib/wx/doc/image.rb +56 -0
- data/lib/wx/doc/list_ctrl.rb +6 -6
- data/lib/wx/doc/memory_dc.rb +2 -11
- data/lib/wx/doc/mirror_dc.rb +1 -1
- data/lib/wx/doc/pen.rb +26 -0
- data/lib/wx/doc/persistence_manager.rb +1 -1
- data/lib/wx/doc/persistent_object.rb +1 -1
- data/lib/wx/doc/pg/property_grid_interface.rb +3 -3
- data/lib/wx/doc/prt/printer_dc.rb +2 -2
- data/lib/wx/doc/region_iterator.rb +1 -1
- data/lib/wx/doc/scaled_dc.rb +1 -1
- data/lib/wx/doc/screen_dc.rb +1 -1
- data/lib/wx/doc/secret_store.rb +55 -0
- data/lib/wx/doc/svg_file_dc.rb +1 -1
- data/lib/wx/doc/textctrl.rb +1 -1
- data/lib/wx/doc/tree_ctrl.rb +2 -2
- data/lib/wx/doc/validator.rb +6 -6
- data/lib/wx/doc/variant.rb +2 -2
- data/lib/wx/doc/window.rb +5 -4
- data/lib/wx/grid/keyword_defs.rb +1 -1
- data/lib/wx/html/keyword_defs.rb +3 -3
- data/lib/wx/keyword_defs.rb +76 -71
- data/lib/wx/pg/keyword_defs.rb +2 -2
- data/lib/wx/pg/pg_property.rb +12 -0
- data/lib/wx/rbn/keyword_defs.rb +1 -1
- data/lib/wx/rtc/keyword_defs.rb +1 -1
- data/lib/wx/stc/keyword_defs.rb +1 -1
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/base.rb +3 -5
- data/lib/wx/wxruby/cmd/check.rb +182 -0
- data/lib/wx/wxruby/cmd/sampler.rb +1 -1
- data/lib/wx/wxruby/cmd/setup.rb +9 -3
- data/lib/wx/wxruby/cmd/test.rb +1 -1
- data/rakelib/configure.rb +67 -52
- data/rakelib/gem.rake +97 -66
- data/rakelib/gem.rb +294 -41
- data/rakelib/install.rb +3 -3
- data/rakelib/lib/config/{cygwin.rb → freebsd.rb} +1 -1
- data/rakelib/lib/config/linux.rb +4 -2
- data/rakelib/lib/config/macosx.rb +42 -11
- data/rakelib/lib/config/mingw.rb +2 -2
- data/rakelib/lib/config/pkgman/{base.rb → linux.rb} +36 -61
- data/rakelib/lib/config/pkgman/macosx.rb +17 -78
- data/rakelib/lib/config/unixish.rb +17 -8
- data/rakelib/lib/config/{netbsd.rb → unknown.rb} +3 -2
- data/rakelib/lib/config.rb +74 -33
- data/rakelib/lib/core/include/enum.inc +31 -1
- data/rakelib/lib/director/affine_matrix.rb +51 -0
- data/rakelib/lib/director/app.rb +29 -13
- data/rakelib/lib/director/art_provider.rb +4 -0
- data/rakelib/lib/director/aui_manager.rb +1 -1
- data/rakelib/lib/director/cursor.rb +6 -2
- data/rakelib/lib/director/dc.rb +1 -6
- data/rakelib/lib/director/derived_dc.rb +88 -31
- data/rakelib/lib/director/geometry.rb +142 -0
- data/rakelib/lib/director/graphics_context.rb +3 -2
- data/rakelib/lib/director/graphics_object.rb +18 -25
- data/rakelib/lib/director/grid_ctrl.rb +2 -2
- data/rakelib/lib/director/image.rb +59 -0
- data/rakelib/lib/director/menu.rb +2 -3
- data/rakelib/lib/director/menu_bar.rb +0 -3
- data/rakelib/lib/director/pen.rb +1 -1
- data/rakelib/lib/director/richtext_composite_object.rb +2 -4
- data/rakelib/lib/director/richtext_ctrl.rb +1 -1
- data/rakelib/lib/director/secret_store.rb +117 -0
- data/rakelib/lib/director/system_settings.rb +1 -1
- data/rakelib/lib/director/tree_event.rb +2 -2
- data/rakelib/lib/director/window.rb +4 -3
- data/rakelib/lib/extractor/function.rb +1 -1
- data/rakelib/lib/generate/doc/animation_ctrl.yaml +10 -0
- data/rakelib/lib/generate/doc/banner_window.yaml +35 -0
- data/rakelib/lib/generate/doc/graphics_context.yaml +12 -0
- data/rakelib/lib/generate/doc/graphics_object.yaml +12 -0
- data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
- data/rakelib/lib/generate/doc/header_ctrl.yaml +91 -0
- data/rakelib/lib/generate/doc/icon.yaml +10 -0
- data/rakelib/lib/generate/doc/info_bar.yaml +27 -0
- data/rakelib/lib/generate/doc/log.yaml +1 -1
- data/rakelib/lib/generate/doc/media_ctrl.yaml +27 -0
- data/rakelib/lib/generate/doc/persistent_window.yaml +22 -0
- data/rakelib/lib/generate/doc/pg_editor.yaml +1 -1
- data/rakelib/lib/generate/doc/pg_property.yaml +4 -4
- data/rakelib/lib/generate/doc/rearrange_list.yaml +14 -0
- data/rakelib/lib/generate/doc/ribbon_panel.yaml +15 -0
- data/rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml +26 -0
- data/rakelib/lib/generate/doc/secret_store.yaml +55 -0
- data/rakelib/lib/generate/doc/text_ctrl.yaml +1 -1
- data/rakelib/lib/generate/doc/wizard.yaml +27 -0
- data/rakelib/lib/generate/doc.rb +5 -5
- data/rakelib/lib/generate/interface.rb +1 -1
- data/rakelib/lib/specs/interfaces.rb +4 -0
- data/rakelib/lib/swig_runner.rb +24 -3
- data/rakelib/lib/typemap/common.rb +10 -0
- data/rakelib/lib/typemap/points_list.rb +8 -2
- data/rakelib/lib/typemap/richtext.rb +17 -0
- data/rakelib/prepost.rake +8 -1
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +4 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +3 -3
- data/samples/dialogs/wizard.rb +20 -19
- data/samples/drawing/art/drawing/image.bmp +0 -0
- data/samples/drawing/art/drawing/mask.bmp +0 -0
- data/samples/drawing/art/drawing/pat35.bmp +0 -0
- data/samples/drawing/art/drawing/pat36.bmp +0 -0
- data/samples/drawing/art/drawing/pat4.bmp +0 -0
- data/samples/drawing/art/drawing/smile.xpm +42 -0
- data/samples/drawing/drawing.rb +2276 -0
- data/samples/drawing/tn_drawing.png +0 -0
- data/samples/html/html.rb +1 -1
- data/samples/propgrid/propgrid.rb +1 -1
- data/samples/propgrid/propgrid_minimal.rb +1 -1
- data/samples/propgrid/sample_props.rb +1 -1
- data/samples/sampler/editor.rb +13 -11
- data/samples/sampler/sample.rb +2 -0
- data/samples/sampler.rb +14 -10
- data/samples/text/richtext.rb +53 -0
- data/samples/text/scintilla.rb +1 -1
- data/samples/text/unicode.rb +4 -4
- data/tests/lib/wxapp_runner.rb +1 -1
- data/tests/test_config.rb +7 -4
- data/tests/test_ext_controls.rb +12 -5
- data/tests/test_secret_store.rb +83 -0
- data/tests/test_std_controls.rb +12 -12
- metadata +66 -47
- data/lib/wx/doc/extra/00_starting.md +0 -154
- data/lib/wx/doc/extra/01_packages.md +0 -180
- data/lib/wx/doc/extra/02_lifecycles.md +0 -166
- data/lib/wx/doc/extra/03_dialogs.md +0 -57
- data/lib/wx/doc/extra/04_enums.md +0 -143
- data/lib/wx/doc/extra/05_event-handling.md +0 -191
- data/lib/wx/doc/extra/06_geometry.md +0 -62
- data/lib/wx/doc/extra/07_colour_and_font.md +0 -52
- data/lib/wx/doc/extra/08_extensions.md +0 -144
- data/lib/wx/doc/extra/09_exceptions.md +0 -54
- data/lib/wx/doc/extra/10_art.md +0 -111
- data/lib/wx/doc/extra/11_drawing_and_dc.md +0 -62
- data/lib/wx/doc/extra/12_client_data.md +0 -89
- data/lib/wx/doc/extra/13_validators.md +0 -139
- data/lib/wx/doc/extra/14_config.md +0 -101
- data/lib/wx/doc/extra/15_persistence.md +0 -148
- data/rakefile +0 -14
- data/rakelib/lib/config/pkgman/arch.rb +0 -53
- data/rakelib/lib/config/pkgman/debian.rb +0 -66
- data/rakelib/lib/config/pkgman/rhel.rb +0 -54
- data/rakelib/lib/config/pkgman/suse.rb +0 -54
- data/samples/sampler/back.xpm +0 -21
- data/samples/sampler/copy.xpm +0 -44
- data/samples/sampler/cut.xpm +0 -46
- data/samples/sampler/filesave.xpm +0 -42
- data/samples/sampler/find.xpm +0 -62
- data/samples/sampler/findrepl.xpm +0 -63
- data/samples/sampler/forward.xpm +0 -21
- data/samples/sampler/paste.xpm +0 -46
- data/samples/sampler/redo.xpm +0 -58
- data/samples/sampler/undo.xpm +0 -58
data/rakelib/lib/generate/doc.rb
CHANGED
|
@@ -494,9 +494,10 @@ module WXRuby3
|
|
|
494
494
|
when /The following event handler macros redirect.*(\{.*})/
|
|
495
495
|
event_ref = $1
|
|
496
496
|
"The following event-handler methods redirect the events to member method or handler blocks for #{event_ref} events."
|
|
497
|
-
when /\AEVT_[
|
|
498
|
-
if event_list? && /\A(EVT_[_A-
|
|
497
|
+
when /\AEVT_[_A-Z0-9]+/
|
|
498
|
+
if event_list? && /\A(EVT_[_A-Z0-9]+)\((.*,)\s+\w+\):(.*)/ =~ para
|
|
499
499
|
evthnd_name = $1.downcase
|
|
500
|
+
docstr = $3.lstrip
|
|
500
501
|
if override_spec = get_event_override(evthnd_name)
|
|
501
502
|
evthnd_name, evt_type, evt_arity, evt_klass = override_spec
|
|
502
503
|
idarg = case evt_arity
|
|
@@ -511,10 +512,9 @@ module WXRuby3
|
|
|
511
512
|
else
|
|
512
513
|
arglist = "#{$2} meth = nil, &block"
|
|
513
514
|
end
|
|
514
|
-
docstr = $3.lstrip
|
|
515
515
|
package.event_docs[evthnd_name] = [arglist, docstr.dup] # register for eventlist doc gen
|
|
516
516
|
"{Wx::EvtHandler\##{evthnd_name}}(#{arglist}): #{docstr}"
|
|
517
|
-
elsif event_list? && /\A(EVT_[_A-
|
|
517
|
+
elsif event_list? && /\A(EVT_[_A-Z0-9]+)(\*)?\(\w+\):(.*)/ =~ para
|
|
518
518
|
wildcard = ($2 == '*')
|
|
519
519
|
evthnd_name = $1.downcase
|
|
520
520
|
arglist = "meth = nil, &block"
|
|
@@ -713,9 +713,9 @@ module WXRuby3
|
|
|
713
713
|
gen_class_doc(fdoc) unless no_gen?(:classes)
|
|
714
714
|
end
|
|
715
715
|
package.all_modules.each do |_|
|
|
716
|
+
mod_indent -= 1
|
|
716
717
|
fdoc.puts
|
|
717
718
|
fdoc.iputs('end', mod_indent)
|
|
718
|
-
mod_indent -= 1
|
|
719
719
|
end
|
|
720
720
|
end
|
|
721
721
|
end
|
|
@@ -511,7 +511,7 @@ module WXRuby3
|
|
|
511
511
|
|
|
512
512
|
def gen_interface_enum(fout, member, classdef)
|
|
513
513
|
fout.puts " // from #{classdef.name}::#{member.name}"
|
|
514
|
-
fout.puts " enum #{member.is_anonymous ? '' : member.name} {"
|
|
514
|
+
fout.puts " enum #{member.strong ? 'class ' : ''}#{member.is_anonymous ? '' : member.name} {"
|
|
515
515
|
enum_size = member.items.size
|
|
516
516
|
member.items.each_with_index do |e, i|
|
|
517
517
|
fout.puts " #{e.name}#{(i+1)<enum_size ? ',' : ''}" unless e.ignored
|
|
@@ -233,6 +233,10 @@ module WXRuby3
|
|
|
233
233
|
Director.Spec(pkg, 'wxPersistenceManager', requirements: %w[USE_CONFIG])
|
|
234
234
|
Director.Spec(pkg, 'wxPersistentObject', requirements: %w[USE_CONFIG])
|
|
235
235
|
Director.Spec(pkg, 'wxPersistentWindow', requirements: %w[USE_CONFIG])
|
|
236
|
+
Director.Spec(pkg, 'wxSecretStore', requirements: %w[USE_SECRETSTORE])
|
|
237
|
+
Director.Spec(pkg, 'wxDCOverlay', director: Director::DerivedDC)
|
|
238
|
+
Director.Spec(pkg, 'wxGeometry', requirements: %w[USE_GEOMETRY])
|
|
239
|
+
Director.Spec(pkg, 'wxAffineMatrix2D', requirements: %w[USE_GEOMETRY])
|
|
236
240
|
}
|
|
237
241
|
|
|
238
242
|
Director.Package('Wx::PRT', 'USE_PRINTING_ARCHITECTURE') do |pkg|
|
data/rakelib/lib/swig_runner.rb
CHANGED
|
@@ -264,8 +264,13 @@ module WXRuby3
|
|
|
264
264
|
when Extractor::EnumDef
|
|
265
265
|
item.items.each { |e| enumerators["#{rb_wx_name(item.name)}_#{e.name}"] = item } if item.is_type
|
|
266
266
|
when Extractor::ClassDef
|
|
267
|
-
item.items.select { |itm| Extractor::EnumDef === itm }.each do |enum|
|
|
268
|
-
|
|
267
|
+
item.items.select { |itm| Extractor::EnumDef === itm && itm.is_type }.each do |enum|
|
|
268
|
+
if enum.strong
|
|
269
|
+
enum_pfx = rb_wx_name(enum.name)
|
|
270
|
+
enum.items.each { |e| enumerators["#{enum_pfx}_#{rb_wx_name(e.name)}"] = enum }
|
|
271
|
+
else
|
|
272
|
+
enum.items.each { |e| enumerators[rb_wx_name(e.name)] = enum }
|
|
273
|
+
end
|
|
269
274
|
end
|
|
270
275
|
end
|
|
271
276
|
end
|
|
@@ -295,9 +300,25 @@ module WXRuby3
|
|
|
295
300
|
line.sub!(/\"Wx#{core_name}::wx#{$1}/, "\"#{package.fullname}::#{$1}")
|
|
296
301
|
end
|
|
297
302
|
|
|
303
|
+
# check for default reference value initializations based on temporary objects
|
|
304
|
+
# (prevent dangling references)
|
|
305
|
+
if line =~ /^(\s+)(wx\w+)\s+const\s+\&(\w+_defvalue)\s+=\s+(.*);$/
|
|
306
|
+
|
|
307
|
+
def_pfx = $1
|
|
308
|
+
def_type = $2
|
|
309
|
+
def_var = $3
|
|
310
|
+
def_val = $4.strip
|
|
311
|
+
if def_type == 'wxString'
|
|
312
|
+
if def_val =~ /(wxString|_|wxGetTranslation)?\(?\"[^\"]*\"\)?/
|
|
313
|
+
line = "#{def_pfx}#{def_type} #{def_var} = #{def_val};"
|
|
314
|
+
end
|
|
315
|
+
elsif def_val =~ /^#{def_type}\(.*\)/
|
|
316
|
+
line = "#{def_pfx}#{def_type} #{def_var} = #{def_val};"
|
|
317
|
+
end
|
|
318
|
+
|
|
298
319
|
# at the top of our Init_ function, make sure we only initialize
|
|
299
320
|
# ourselves once
|
|
300
|
-
|
|
321
|
+
elsif /void\s+Init_(wx|Wx)#{core_name}\(/ =~ line
|
|
301
322
|
line += "\n static bool initialized;\n"
|
|
302
323
|
line += " if(initialized) return;\n"
|
|
303
324
|
line += " initialized = true;\n"
|
|
@@ -262,6 +262,16 @@ module WXRuby3
|
|
|
262
262
|
|
|
263
263
|
end
|
|
264
264
|
|
|
265
|
+
# output typemaps for common value objects like wxPoint, wxSize, wxRect and wxRealPoint,
|
|
266
|
+
# making sure to ALWAYS create managed copies
|
|
267
|
+
%w[Point Size Rect RealPoint].each do |klass|
|
|
268
|
+
map "const wx#{klass}&", "const wx#{klass}*", as: "Wx::#{klass}" do
|
|
269
|
+
map_out code: <<~__CODE
|
|
270
|
+
$result = SWIG_NewPointerObj((new wx#{klass}(*static_cast< const wx#{klass}* >($1))), SWIGTYPE_p_wx#{klass}, SWIG_POINTER_OWN);
|
|
271
|
+
__CODE
|
|
272
|
+
end
|
|
273
|
+
end
|
|
274
|
+
|
|
265
275
|
# Integer <> wxItemKind type mappings
|
|
266
276
|
|
|
267
277
|
map 'wxItemKind' => 'Integer' do
|
|
@@ -47,7 +47,8 @@ module WXRuby3
|
|
|
47
47
|
}
|
|
48
48
|
else
|
|
49
49
|
{
|
|
50
|
-
|
|
50
|
+
VALUE str = rb_inspect(rb_item);
|
|
51
|
+
rb_raise(rb_eTypeError, "Wrong type for wxPoint parameter %i (%s)", i, StringValuePtr(str));
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
}
|
|
@@ -101,7 +102,12 @@ module WXRuby3
|
|
|
101
102
|
// array of all the points
|
|
102
103
|
VALUE all_points = rb_funcall($input, rb_intern("flatten"), 0);
|
|
103
104
|
point_arr = std::make_unique<wxPoint[]>(RARRAY_LEN(all_points));
|
|
104
|
-
|
|
105
|
+
wxPoint* point_ptr = point_arr.get();
|
|
106
|
+
for ( int i = 0; i < RARRAY_LEN($input); i++ )
|
|
107
|
+
{
|
|
108
|
+
wxRuby_PointArrayRubyToC(rb_ary_entry($input, i), point_ptr);
|
|
109
|
+
point_ptr += count_arr[i];
|
|
110
|
+
}
|
|
105
111
|
$3 = point_arr.get();
|
|
106
112
|
}
|
|
107
113
|
__CODE
|
|
@@ -23,6 +23,23 @@ module WXRuby3
|
|
|
23
23
|
# ranges of text selections with a special class. It doesn't add
|
|
24
24
|
# anything much that Ruby's own range class doesn't, so deal with using
|
|
25
25
|
# typemaps
|
|
26
|
+
map 'const wxRichTextRange&' => 'Range' do
|
|
27
|
+
|
|
28
|
+
map_in temp: 'wxRichTextRange rng', code: <<~__CODE
|
|
29
|
+
int start = NUM2INT( rb_funcall( $input, rb_intern("begin"), 0));
|
|
30
|
+
int end = NUM2INT( rb_funcall( $input, rb_intern("end"), 0));
|
|
31
|
+
rng = wxRichTextRange(start, end);
|
|
32
|
+
$1 = &rng;
|
|
33
|
+
__CODE
|
|
34
|
+
|
|
35
|
+
map_typecheck precedence: 1, code: '$1 = ( CLASS_OF($input) == rb_cRange );'
|
|
36
|
+
|
|
37
|
+
map_out code: '$result = rb_range_new (LONG2NUM($1->GetStart()),LONG2NUM($1->GetEnd()),0);'
|
|
38
|
+
|
|
39
|
+
map_directorin code: '$input = rb_range_new (LONG2NUM($1.GetStart()),LONG2NUM($1.GetEnd()),0);'
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
|
|
26
43
|
map 'wxRichTextRange&' => 'Range' do
|
|
27
44
|
|
|
28
45
|
map_in temp: 'wxRichTextRange rng', code: <<~__CODE
|
data/rakelib/prepost.rake
CHANGED
|
@@ -29,14 +29,21 @@ namespace 'wxruby' do
|
|
|
29
29
|
$stdout.puts 'done!' if WXRuby3.config.run_silent?
|
|
30
30
|
# cleanup
|
|
31
31
|
rm_rf('rakelib', verbose: !WXRuby3.config.run_silent?)
|
|
32
|
+
rm_f('Rakefile', verbose: !WXRuby3.config.run_silent?)
|
|
33
|
+
rm_f('ext/mkrf_conf_ext.rb', verbose: !WXRuby3.config.run_silent?)
|
|
32
34
|
rm_rf('ext/wxruby3', verbose: !WXRuby3.config.run_silent?)
|
|
33
35
|
WXRuby3.config.cleanup_bootstrap
|
|
34
36
|
File.open(File.join(WXRuby3::Config.wxruby_root, 'ext', 'wxruby.setup.done'), 'w') { |f| f << '1' }
|
|
35
37
|
end
|
|
36
38
|
|
|
37
|
-
task :
|
|
39
|
+
task :binpkg => 'gem:install' do
|
|
38
40
|
# cleanup
|
|
39
41
|
rm_rf('rakelib')
|
|
42
|
+
rm_f('Rakefile')
|
|
43
|
+
rm_f('ext/mkrf_conf_ext.rb')
|
|
44
|
+
rm_rf('ext/wxruby3')
|
|
45
|
+
rm_f('*.pkg')
|
|
46
|
+
rm_f('*.sha')
|
|
40
47
|
File.open(File.join(WXRuby3::Config.wxruby_root, 'ext', 'wxruby.setup.done'), 'w') { |f| f << '1' }
|
|
41
48
|
end
|
|
42
49
|
|
|
@@ -4,16 +4,16 @@ def init
|
|
|
4
4
|
# It seems YARD messes things up so that a lot of classes, modules and constants are not properly
|
|
5
5
|
# registered in their enclosing namespaces.
|
|
6
6
|
# This hack makes sure that if that is the case we fix that here.
|
|
7
|
-
all_objects = Registry.all(:class, :constant, :module)
|
|
7
|
+
all_objects = Registry.all(:class, :constant, :module, :method)
|
|
8
8
|
all_objects.each do |c|
|
|
9
9
|
if (ns = c.namespace)
|
|
10
10
|
unless ns.children.any? { |nsc| nsc.path == c.path }
|
|
11
|
-
ns.children << c # class/module/constant missing from child list of enclosing namespace -> add here
|
|
11
|
+
ns.children << c # class/module/constant/method missing from child list of enclosing namespace -> add here
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
if (ns = Registry[c.namespace.path])
|
|
15
15
|
unless ns.children.any? { |nsc| nsc.path == c.path }
|
|
16
|
-
ns.children << c # class/module/constant missing from child list of enclosing namespace -> add here
|
|
16
|
+
ns.children << c # class/module/constant/method missing from child list of enclosing namespace -> add here
|
|
17
17
|
end
|
|
18
18
|
end
|
|
19
19
|
end
|
data/samples/dialogs/wizard.rb
CHANGED
|
@@ -32,25 +32,26 @@ module Wizard
|
|
|
32
32
|
evt_menu Wx::ID_EXIT, :on_quit
|
|
33
33
|
evt_menu Wx::ID_ABOUT, :on_about
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
Wx.Wizard(self, :title => 'The WxRuby Wizard') do |w|
|
|
36
|
+
p1 = Wx::WizardPageSimple.new(w)
|
|
37
|
+
s = Wx::StaticText.new(p1, :label => 'This is the first page')
|
|
38
|
+
|
|
39
|
+
p2 = Wx::WizardPageSimple.new(w, p1)
|
|
40
|
+
p1.set_next(p2)
|
|
41
|
+
s = Wx::StaticText.new(p2, :label => 'This is the second page')
|
|
42
|
+
|
|
43
|
+
p3 = Wx::WizardPageSimple.new(w, p2)
|
|
44
|
+
p2.set_next(p3)
|
|
45
|
+
s = Wx::StaticText.new(p3, :label => 'This is the final page')
|
|
46
|
+
|
|
47
|
+
evt_wizard_page_changed(w) { p "page changed" }
|
|
48
|
+
evt_wizard_page_changing(w) { p "page changing" }
|
|
49
|
+
evt_wizard_help(w) { p "wizard help" }
|
|
50
|
+
evt_wizard_cancel(w) { p "wizard cancelled" }
|
|
51
|
+
evt_wizard_finished(w) { p "wizard finished" }
|
|
52
|
+
|
|
53
|
+
w.run_wizard(p1)
|
|
54
|
+
end
|
|
54
55
|
end
|
|
55
56
|
|
|
56
57
|
def on_quit
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* XPM */
|
|
2
|
+
static const char *const smile_xpm[] = {
|
|
3
|
+
/* columns rows colors chars-per-pixel */
|
|
4
|
+
"32 32 4 1",
|
|
5
|
+
". c Black",
|
|
6
|
+
"X c #FFFF00",
|
|
7
|
+
" c None",
|
|
8
|
+
"o c #C00000",
|
|
9
|
+
/* pixels */
|
|
10
|
+
" ",
|
|
11
|
+
" ..... ",
|
|
12
|
+
" ...XXXXX... ",
|
|
13
|
+
" ..XXXXXXXXXXX.. ",
|
|
14
|
+
" .XXXXXXXXXXXXXXX. ",
|
|
15
|
+
" ..XXXXXXXXXXXXXXXXX.. ",
|
|
16
|
+
" .XXXXXXXXXXXXXXXXXXXX. ",
|
|
17
|
+
" .XXXXXX.XXXXXXX.XXXXXX. ",
|
|
18
|
+
" .XXXXXX.X.XXXXX.X.XXXXXX. ",
|
|
19
|
+
" .XXXXX.XXX.XXX.XXX.XXXXXX. ",
|
|
20
|
+
" .XXXXX.XXXXXXXXXXXXX.XXXXX. ",
|
|
21
|
+
" .XXXXXXXX.XXXXXXX.XXXXXXXX. ",
|
|
22
|
+
" .XXXXXXXX.XXXXXXX.XXXXXXXX. ",
|
|
23
|
+
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
|
|
24
|
+
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
|
|
25
|
+
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
|
|
26
|
+
" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
|
|
27
|
+
" .XXXXXXX.XXXXXXXXXXX.XXXXXXX. ",
|
|
28
|
+
" .XXXXXX...XXXXXXX...XXXXXX. ",
|
|
29
|
+
" .XXXXXX.oo..XXX..oo.XXXXXX. ",
|
|
30
|
+
" .XXXXXXX.ooo...ooo.XXXXXXX. ",
|
|
31
|
+
" .XXXXXXX.ooooooo.XXXXXXXX. ",
|
|
32
|
+
" .XXXXXXXX..ooo..XXXXXXXX. ",
|
|
33
|
+
" .XXXXXXXXX...XXXXXXXXX. ",
|
|
34
|
+
" .XXXXXXXXXXXXXXXXXXXX. ",
|
|
35
|
+
" ..XXXXXXXXXXXXXXXXX.. ",
|
|
36
|
+
" .XXXXXXXXXXXXXXX. ",
|
|
37
|
+
" ..XXXXXXXXXXX.. ",
|
|
38
|
+
" ...XXXXX... ",
|
|
39
|
+
" ..... ",
|
|
40
|
+
" ",
|
|
41
|
+
" "
|
|
42
|
+
};
|