wxruby3 0.9.7 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
};
|