wxruby3 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/ext/wxruby3/include/wxruby-runtime.h +3 -0
  3. data/ext/wxruby3/swig/common.i +22 -0
  4. data/ext/wxruby3/swig/custom/director.swg +296 -0
  5. data/ext/wxruby3/swig/custom/rubyapi.swg +19 -0
  6. data/ext/wxruby3/swig/custom/rubyerrors.swg +45 -0
  7. data/ext/wxruby3/swig/custom/rubyhead.swg +192 -0
  8. data/ext/wxruby3/swig/custom/rubyrun.swg +187 -0
  9. data/ext/wxruby3/swig/custom/swigrun.swg +363 -0
  10. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +173 -0
  11. data/ext/wxruby3/swig/wx.i +50 -30
  12. data/lib/wx/core/const.rb +83 -0
  13. data/lib/wx/doc/const.rb +66 -66
  14. data/lib/wx/doc/event.rb +0 -6
  15. data/lib/wx/doc/functions.rb +9 -9
  16. data/lib/wx/doc/window.rb +5 -0
  17. data/lib/wx/keyword_defs.rb +43 -6
  18. data/lib/wx/version.rb +1 -1
  19. data/rakelib/lib/config/macosx.rb +1 -1
  20. data/rakelib/lib/core/include/funcall.inc +33 -14
  21. data/rakelib/lib/core/include/swigdirector.inc +384 -0
  22. data/rakelib/lib/core/include/swigrubyerrors.inc +161 -0
  23. data/{ext/wxruby3/swig/custom/swig4/rubyrun.swg → rakelib/lib/core/include/swigrubyrun.inc} +245 -120
  24. data/rakelib/lib/core/include/swigrun.inc +700 -0
  25. data/rakelib/lib/core/package.rb +5 -2
  26. data/rakelib/lib/core/parameter.rb +3 -0
  27. data/rakelib/lib/director/accelerator.rb +1 -1
  28. data/rakelib/lib/director/animation.rb +1 -1
  29. data/rakelib/lib/director/animation_ctrl.rb +20 -0
  30. data/rakelib/lib/director/app.rb +23 -5
  31. data/rakelib/lib/director/art_provider.rb +1 -1
  32. data/rakelib/lib/director/data_object_simple_base.rb +1 -2
  33. data/rakelib/lib/director/dialog.rb +5 -0
  34. data/rakelib/lib/director/dialup_event.rb +44 -0
  35. data/rakelib/lib/director/dialup_manager.rb +45 -0
  36. data/rakelib/lib/director/event.rb +20 -2
  37. data/rakelib/lib/director/file_ctrl.rb +35 -0
  38. data/rakelib/lib/director/file_ctrl_event.rb +26 -0
  39. data/rakelib/lib/director/gdicommon.rb +19 -1
  40. data/rakelib/lib/director/grid_cell_editor.rb +6 -6
  41. data/rakelib/lib/director/help_controller.rb +1 -1
  42. data/rakelib/lib/director/pgarray_editor_dialog.rb +0 -6
  43. data/rakelib/lib/director/pgeditor.rb +2 -2
  44. data/rakelib/lib/director/pgproperties.rb +2 -2
  45. data/rakelib/lib/director/richtext_buffer.rb +1 -1
  46. data/rakelib/lib/director/richtext_ctrl.rb +1 -1
  47. data/rakelib/lib/director/sash_event.rb +42 -0
  48. data/rakelib/lib/director/sizer.rb +64 -1
  49. data/rakelib/lib/director/sizer_item.rb +22 -0
  50. data/rakelib/lib/director/task_bar_icon.rb +1 -1
  51. data/rakelib/lib/director/tree_ctrl.rb +19 -44
  52. data/rakelib/lib/generate/doc/animation_ctrl.yaml +15 -0
  53. data/rakelib/lib/generate/doc/events.yaml +10 -4
  54. data/rakelib/lib/generate/doc/static_box.yaml +8 -0
  55. data/rakelib/lib/generate/doc/xml_resource.yaml +3 -0
  56. data/rakelib/lib/generate/doc.rb +14 -3
  57. data/rakelib/lib/generate/interface.rb +4 -3
  58. data/rakelib/lib/specs/interfaces.rb +5 -1
  59. data/rakelib/lib/swig_runner.rb +4 -50
  60. data/rakelib/lib/typemap/common.rb +24 -9
  61. data/rakelib/lib/typemap/data_format.rb +1 -1
  62. data/rakelib/lib/typemap/data_object_data.rb +2 -2
  63. data/rakelib/lib/typemap/pgprop_arg.rb +7 -2
  64. data/rakelib/lib/typemap/points_list.rb +5 -7
  65. data/rakelib/lib/util/string.rb +10 -8
  66. data/samples/text/richtext.rb +0 -30
  67. data/tests/test_app_exit_exception.rb +36 -0
  68. data/tests/test_app_init_exception.rb +20 -0
  69. data/tests/test_book_controls.rb +29 -0
  70. data/tests/test_exceptions.rb +41 -0
  71. data/tests/test_sizer.rb +43 -0
  72. data/tests/test_std_controls.rb +36 -0
  73. metadata +25 -4
  74. data/ext/wxruby3/swig/custom/swig3/rubyrun.swg +0 -456
@@ -0,0 +1,173 @@
1
+ /* -----------------------------------------------------------------------------
2
+ * swigtypemaps.swg
3
+ *
4
+ * Unified Typemap Library frontend
5
+ *
6
+ * Customized for wxRuby3.
7
+ * Copyright (c) 2023 M.J.N. Corino, The Netherlands
8
+ *
9
+ * This software is released under the MIT license.
10
+ * ----------------------------------------------------------------------------- */
11
+
12
+ /*
13
+ This file provides the frontend to the Unified Typemap Library.
14
+
15
+ When using this library in a SWIG target language, you need to
16
+ define a minimum set of fragments, specialize a couple of macros,
17
+ and then include this file.
18
+
19
+ Typically you will create a 'mytypemaps.swg' file in each target
20
+ language, where you will have the following sections:
21
+
22
+ === mytypemaps.swg ===
23
+
24
+ // Fragment section
25
+ %include <typemaps/fragments.swg>
26
+ <include target language fragments>
27
+
28
+ // Unified typemap section
29
+ <specialized the typemap library macros>
30
+ %include <typemaps/swigtypemaps.swg>
31
+
32
+ // Local typemap section
33
+ <add/replace extra target language typemaps>
34
+
35
+ === mytypemaps.swg ===
36
+
37
+ While we add more docs, please take a look at the following cases
38
+ to see how you specialized the unified typemap library for a new
39
+ target language:
40
+
41
+ Lib/python/pytypemaps.swg
42
+ Lib/tcl/tcltypemaps.swg
43
+ Lib/ruby/rubytypemaps.swg
44
+ Lib/perl5/perltypemaps.swg
45
+
46
+ */
47
+
48
+ #define SWIGUTL SWIGUTL
49
+
50
+ /* -----------------------------------------------------------------------------
51
+ * Language specialization section.
52
+ *
53
+ * Tune these macros for each language as needed.
54
+ * ----------------------------------------------------------------------------- */
55
+
56
+ /*
57
+ The SWIG target language object must be provided.
58
+ For example in python you define:
59
+
60
+ #define SWIG_Object PyObject *
61
+ */
62
+
63
+ #if !defined(SWIG_Object)
64
+ #error "SWIG_Object must be defined as the SWIG target language object"
65
+ #endif
66
+
67
+ /*==== flags for new/convert methods ====*/
68
+
69
+
70
+ #ifndef %convertptr_flags
71
+ %define %convertptr_flags 0 %enddef
72
+ #endif
73
+
74
+ #ifndef %newpointer_flags
75
+ %define %newpointer_flags 0 %enddef
76
+ #endif
77
+
78
+ #ifndef %newinstance_flags
79
+ %define %newinstance_flags 0 %enddef
80
+ #endif
81
+
82
+ /*==== set output ====*/
83
+
84
+ #ifndef %set_output
85
+ /* simple set output operation */
86
+ #define %set_output(obj) $result = obj
87
+ #endif
88
+
89
+ /*==== set variable output ====*/
90
+
91
+ #ifndef %set_varoutput
92
+ /* simple set varoutput operation */
93
+ #define %set_varoutput(obj) $result = obj
94
+ #endif
95
+
96
+ /*==== append output ====*/
97
+
98
+ #ifndef %append_output
99
+ #if defined(SWIG_AppendOutput)
100
+ /* simple append operation */
101
+ #define %append_output(obj) $result = SWIG_AppendOutput($result,obj)
102
+ #else
103
+ #error "Language must define SWIG_AppendOutput or %append_output"
104
+ #endif
105
+ #endif
106
+
107
+ /*==== set constant ====*/
108
+
109
+ #ifndef %set_constant
110
+ #if defined(SWIG_SetConstant)
111
+ /* simple set constant operation */
112
+ #define %set_constant(name,value) SWIG_SetConstant(name,value)
113
+ #else
114
+ #error "Language must define SWIG_SetConstant or %set_constant"
115
+ #endif
116
+ #endif
117
+
118
+ /*==== raise an exception ====*/
119
+
120
+ #ifndef %raise
121
+ #if defined(SWIG_Raise)
122
+ /* simple raise operation */
123
+ #define %raise(obj, type, desc) SWIG_Raise(obj, type, desc); SWIG_fail
124
+ #else
125
+ #error "Language must define SWIG_Raise or %raise"
126
+ #endif
127
+ #endif
128
+
129
+ /*==== director output exception ====*/
130
+
131
+ /* wxRuby : make sure to pass the object and method that caused the failure */
132
+ #if defined(SWIG_DIRECTOR_TYPEMAPS)
133
+ #ifndef SWIG_DirOutFail
134
+ #define SWIG_DirOutFail(self, method, code, msg) Swig::DirectorTypeMismatchException::raise(self, method, SWIG_ErrorType(code), msg)
135
+ #endif
136
+ #endif
137
+
138
+
139
+ /* -----------------------------------------------------------------------------
140
+ * Language independent definitions
141
+ * ----------------------------------------------------------------------------- */
142
+
143
+ #define %error_block(Block...) %block(Block)
144
+ #define %default_code(code) SWIG_ArgError(code)
145
+ #define %argument_fail(code, type, name, argn) SWIG_exception_fail(%default_code(code), %argfail_fmt(type, name, argn))
146
+ #define %argument_nullref(type, name, argn) SWIG_exception_fail(SWIG_ValueError, %argnullref_fmt(type, name, argn))
147
+ #define %variable_fail(code, type, name) SWIG_exception_fail(%default_code(code), %varfail_fmt(type, name))
148
+ #define %variable_nullref(type, name) SWIG_exception_fail(SWIG_ValueError, %varnullref_fmt(type, name))
149
+ #define %releasenotowned_fail(code, type, name, argn) SWIG_exception_fail(%default_code(code), %releasenotownedfail_fmt(type, name, argn))
150
+
151
+ /* wxRuby : make sure to pass the object and method that caused the failure */
152
+ #if defined(SWIG_DIRECTOR_TYPEMAPS)
153
+ #define %dirout_fail(code, type) SWIG_DirOutFail(swig_get_self(), "$symname", %default_code(code), %outfail_fmt(type))
154
+ #define %dirout_nullref(type) SWIG_DirOutFail(swig_get_self(), "$symname", SWIG_ValueError, %outnullref_fmt(type))
155
+ #endif
156
+
157
+ /* -----------------------------------------------------------------------------
158
+ * All the typemaps
159
+ * ----------------------------------------------------------------------------- */
160
+
161
+
162
+ %include <typemaps/fragments.swg>
163
+ %include <typemaps/exception.swg>
164
+ %include <typemaps/swigtype.swg>
165
+ %include <typemaps/void.swg>
166
+ %include <typemaps/swigobject.swg>
167
+ %include <typemaps/valtypes.swg>
168
+ %include <typemaps/ptrtypes.swg>
169
+ %include <typemaps/inoutlist.swg>
170
+ %include <typemaps/primtypes.swg>
171
+ %include <typemaps/string.swg>
172
+ %include <typemaps/misctypes.swg>
173
+ %include <typemaps/enumint.swg>
@@ -35,11 +35,31 @@ WX_DECLARE_HASH_MAP(VALUE,
35
35
  RbClassToSwigTypeHash);
36
36
  RbClassToSwigTypeHash Global_Type_Map;
37
37
 
38
+ // Mapping of wxWidgets class names to Ruby classes
39
+ WX_DECLARE_STRING_HASH_MAP(VALUE,
40
+ WxClassnameToRbClassHash);
41
+ WxClassnameToRbClassHash Global_Class_Map;
42
+
43
+ // Record wxRuby class for a wxw class name
44
+ WXRUBY_EXPORT void wxRuby_SetRbClassForWxName(const wxString& wx_name, VALUE cls)
45
+ {
46
+ Global_Class_Map[wx_name] = cls;
47
+ }
48
+
49
+ // Retrieve wxRuby class for a wxw class name
50
+ WXRUBY_EXPORT VALUE wxRuby_GetRbClassForWxName(const wxString& wx_name)
51
+ {
52
+ return Global_Class_Map[wx_name];
53
+ }
54
+
38
55
  // Record swig_type_info for a wxRuby class; called in class
39
56
  // initialisation
40
57
  WXRUBY_EXPORT void wxRuby_SetSwigTypeForClass(VALUE cls, swig_type_info* ty)
41
58
  {
42
59
  Global_Type_Map[cls] = ty;
60
+ const char* swig_type_name = ty->name;
61
+ // skip '_p_' prefix and register class
62
+ wxRuby_SetRbClassForWxName(wxString(swig_type_name+3), cls);
43
63
  }
44
64
 
45
65
  // Retrieve swig_type_info for a ruby class - needed by functions which
@@ -141,41 +161,41 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
141
161
 
142
162
  // Get the wx class and the ruby class we are converting into
143
163
  wxString class_name( wx_obj->GetClassInfo()->GetClassName() );
144
- wxCharBuffer wx_classname = class_name.mb_str();
145
- VALUE r_class_name = rb_intern(wx_classname.data () + 2);
146
- VALUE r_class = Qnil;
147
-
148
- if ( class_name.Len() > 2 )
149
- {
150
- // lookup the class in the main module and any package submodules loaded
151
- if (rb_const_defined(mWxCore, r_class_name))
152
- r_class = rb_const_get(mWxCore, r_class_name);
153
- else
154
- {
155
- VALUE submod_ary = rb_ivar_get(mWxCore, rb_intern("@__pkgmods__"));
156
- for (long n=0; n<RARRAY_LEN(submod_ary); ++n)
157
- {
158
- VALUE submod = rb_ary_entry(submod_ary, n);
159
- if (rb_const_defined(submod, r_class_name))
160
- {
161
- r_class = rb_const_get(submod, r_class_name);
162
- break;
163
- }
164
- }
165
- }
166
- }
164
+ VALUE r_class = wxRuby_GetRbClassForWxName(class_name);
167
165
 
168
166
  // Handle classes (currently) unknown in wxRuby.
169
167
  // (could cause problems because class-specific methods won't be accessible).
170
- if ( r_class == Qnil )
168
+ if (r_class == 0 || NIL_P(r_class))
171
169
  {
172
- // map unknown wxWindow derivatives as basic window
170
+ // map unknown wxWindow derivatives as a mapped base class
171
+ // this solves issues with explicitly defined wxRuby custom
172
+ // DECLARE_DYNAMIC_CLASS classes like WxRubyTreeCtrl
173
173
  if (wxIsKindOf(wx_obj, wxWindow))
174
174
  {
175
- r_class = rb_const_get(mWxCore, window_id());
176
- // issue warning if $VERBOSE is true
177
- rb_warning("Cannot wrap exact window class as '%s' is not (yet) known in wxRuby; wrapping as base Window object.",
178
- (const char *)class_name.mb_str());
175
+ wxClassInfo* cls_info = wx_obj->GetClassInfo();
176
+ do
177
+ {
178
+ wxString base_name(wx_obj->GetClassInfo()->GetBaseClassName1());
179
+ r_class = wxRuby_GetRbClassForWxName(base_name);
180
+ if (r_class == 0 || NIL_P(r_class))
181
+ {
182
+ cls_info = wxClassInfo::FindClass(base_name);
183
+ if (!cls_info)
184
+ {
185
+ // map to basic Wx::Window
186
+ r_class = rb_const_get(mWxCore, window_id());
187
+ // issue warning if $VERBOSE is true
188
+ rb_warning("Cannot wrap exact window class as '%s' is not (yet) known in wxRuby; wrapping as base Wx::Window object.",
189
+ (const char *)class_name.mb_str());
190
+ }
191
+ }
192
+ else
193
+ {
194
+ // issue warning if $VERBOSE is true
195
+ rb_warning("Cannot wrap exact window class as '%s' is not (yet) known in wxRuby; wrapping as %s object.",
196
+ (const char *)class_name.mb_str(), rb_class2name(r_class));
197
+ }
198
+ } while (r_class == 0 || NIL_P(r_class));
179
199
  }
180
200
  else
181
201
  {
@@ -188,7 +208,7 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
188
208
  // Otherwise, retrieve the swig type info for this class and wrap it
189
209
  // in Ruby. wxRuby_GetSwigTypeForClass is defined in wx.i
190
210
  swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
191
- VALUE r_obj = SWIG_NewPointerObj(wx_obj, swig_type, 1);
211
+ VALUE r_obj = SWIG_NewPointerObj(wx_obj, swig_type, 0);
192
212
  return r_obj;
193
213
  }
194
214
 
@@ -0,0 +1,83 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+
6
+ module Wx
7
+
8
+ =begin
9
+ These constants are not documented in the wxWidgets interface headers
10
+ although they are referenced in various argument defaults which *are*
11
+ in the interface header declarations so.
12
+ =end
13
+
14
+ DEFAULT_DATE_TIME_FORMAT = '%c'
15
+ DEFAULT_TIME_SPAN_FORMAT = '%H:%M:%S'
16
+
17
+ CHOICE_NAME_STR = 'choice'
18
+ COLOUR_PICKER_CTRL_NAME_STR = 'colourpicker'
19
+ COLOUR_PICKER_WIDGET_NAME_STR = 'colourpickerwidget'
20
+ HYPERLINK_CTRL_NAME_STR = 'hyperlink'
21
+ PANEL_NAME_STR = 'panel'
22
+ LIST_BOX_NAME_STR = 'listBox'
23
+ FRAME_NAME_STR = 'frame'
24
+ STATUS_LINE_NAME_STR = 'status_line'
25
+ STATIC_BITMAP_NAME_STR = 'staticBitmap'
26
+ WEB_VIEW_NAME_STR = 'wxWebView'
27
+ ANIMATION_CTRL_NAME_STR = 'animationctrl'
28
+ TOOL_BAR_NAME_STR = 'toolbar'
29
+ TEXT_CTRL_NAME_STR = 'text'
30
+ LIST_CTRL_NAME_STR = 'listCtrl'
31
+ FILE_PICKER_CTRL_NAME_STR = 'filepicker'
32
+ FILE_PICKER_WIDGET_NAME_STR = 'filepickerwidget'
33
+ DIR_PICKER_CTRL_NAME_STR = 'dirpicker'
34
+ DIR_PICKER_WIDGET_NAME_STR = 'dirpickerwidget'
35
+ FILE_CTRL_NAME_STR = 'wxfilectrl'
36
+ FILE_SELECTOR_PROMPT_STR = 'Select a file'
37
+ STATIC_BOX_NAME_STR = 'groupBox'
38
+ BUTTON_NAME_STR = 'button'
39
+ RADIO_BOX_NAME_STR = 'radioBox'
40
+ STATIC_LINE_NAME_STR = 'staticLine'
41
+ RADIO_BUTTON_NAME_STR = 'radioButton'
42
+ BITMAP_RADIO_BUTTON_NAME_STR = 'radioButton'
43
+ GAUGE_NAME_STR = 'gauge'
44
+ DATA_VIEW_CTRL_NAME_STR = 'dataviewCtrl'
45
+ FONT_PICKER_CTRL_NAME_STR = 'fontpicker'
46
+ FONT_PICKER_WIDGET_NAME_STR = 'fontpickerwidget'
47
+ REARRANGE_LIST_NAME_STR = 'wxRearrangeList'
48
+ REARRANGE_DIALOG_NAME_STR = 'wxRearrangeDlg'
49
+ NOTEBOOK_NAME_STR = 'notebook'
50
+ CONTROL_NAME_STR = 'control'
51
+ SCROLL_BAR_NAME_STR = 'scrollBar'
52
+ STATUS_BAR_NAME_STR = 'statusBar'
53
+ SLIDER_NAME_STR = 'slider'
54
+ HEADER_CTRL_NAME_STR = 'wxHeaderCtrl'
55
+ BITMAP_COMBO_BOX_NAME_STR = 'bitmapComboBox'
56
+ CHECK_BOX_NAME_STR = 'check'
57
+ FILE_DIALOG_NAME_STR = 'filedlg'
58
+ ADD_REMOVE_CTRL_NAME_STR = 'wxAddRemoveCtrl'
59
+ STATIC_TEXT_NAME_STR = 'staticText'
60
+ COMBO_BOX_NAME_STR = 'comboBox'
61
+ SEARCH_CTRL_NAME_STR = 'searchCtrl'
62
+ TREE_CTRL_NAME_STR = 'treeCtrl'
63
+ DIALOG_NAME_STR = 'dialog'
64
+ COLLAPSIBLE_HEADER_CTRL_NAME_STR = 'collapsibleHeader'
65
+ COLLAPSIBLE_PANE_NAME_STR = 'collapsiblePane'
66
+ BANNER_WINDOW_NAME_STR = 'bannerwindow'
67
+ GRID_NAME_STR = 'grid'
68
+ TREE_LIST_CTRL_NAME_STR = 'wxTreeListCtrl'
69
+ HTML_LIST_BOX_NAME_STR = 'htmlListBox'
70
+ SIMPLE_HTML_LIST_BOX_NAME_STR = 'simpleHtmlListBox'
71
+ EDITABLE_LIST_BOX_NAME_STR = 'editableListBox'
72
+ V_LIST_BOX_NAME_STR = 'wxVListBox'
73
+
74
+ if Wx::PLATFORM == 'WXMSW'
75
+ # wxMSW only
76
+ MSW_HEADER_CTRL_NAME_STR = 'wxMSWHeaderCtrl'
77
+ end
78
+
79
+ PROPERTY_GRID_MANAGER_NAME_STR = 'wxPropertyGridManager'
80
+ PROPERTY_GRID_NAME_STR = 'wxPropertyGrid'
81
+ STC_NAME_STR = 'stcwindow'
82
+
83
+ end
data/lib/wx/doc/const.rb CHANGED
@@ -11,74 +11,74 @@ module Wx
11
11
  These constants are not documented in the wxWidgets interface headers
12
12
  although they are referenced in various argument defaults which *are*
13
13
  in the interface header declarations so we do want them included the
14
- wxRuby docs so the doc links work but we do not need them in the
15
- wxRuby implementation since these are internal to the C++ wrappers.
14
+ wxRuby docs so the doc links work.
16
15
  =end
17
16
 
18
- DefaultDateTimeFormat = '%c'
19
- DefaultTimeSpanFormat = '%H:%M:%S'
17
+ DEFAULT_DATE_TIME_FORMAT = '%c'
18
+ DEFAULT_TIME_SPAN_FORMAT = '%H:%M:%S'
20
19
 
21
- ChoiceNameStr = 'choice'
22
- ColourPickerCtrlNameStr = 'colourpicker'
23
- ColourPickerWidgetNameStr = 'colourpickerwidget'
24
- HyperlinkCtrlNameStr = 'hyperlink'
25
- PanelNameStr = 'panel'
26
- ListBoxNameStr = 'listBox'
27
- FrameNameStr = 'frame'
28
- StatusLineNameStr = 'status_line'
29
- StaticBitmapNameStr = 'staticBitmap'
30
- WebViewNameStr = 'wxWebView'
31
- AnimationCtrlNameStr = 'animationctrl'
32
- ToolBarNameStr = 'toolbar'
33
- TextCtrlNameStr = 'text'
34
- ListCtrlNameStr = 'listCtrl'
35
- FilePickerCtrlNameStr = 'filepicker'
36
- FilePickerWidgetNameStr = 'filepickerwidget'
37
- DirPickerCtrlNameStr = 'dirpicker'
38
- DirPickerWidgetNameStr = 'dirpickerwidget'
39
- FileCtrlNameStr = 'wxfilectrl'
40
- StaticBoxNameStr = 'groupBox'
41
- ButtonNameStr = 'button'
42
- RadioBoxNameStr = 'radioBox'
43
- StaticLineNameStr = 'staticLine'
44
- RadioButtonNameStr = 'radioButton'
45
- BitmapRadioButtonNameStr = 'radioButton'
46
- GaugeNameStr = 'gauge'
47
- DataViewCtrlNameStr = 'dataviewCtrl'
48
- FontPickerCtrlNameStr = 'fontpicker'
49
- FontPickerWidgetNameStr = 'fontpickerwidget'
50
- RearrangeListNameStr = 'wxRearrangeList'
51
- RearrangeDialogNameStr = 'wxRearrangeDlg'
52
- NotebookNameStr = 'notebook'
53
- ControlNameStr = 'control'
54
- ScrollBarNameStr = 'scrollBar'
55
- StatusBarNameStr = 'statusBar'
56
- SliderNameStr = 'slider'
57
- HeaderCtrlNameStr = 'wxHeaderCtrl'
58
- BitmapComboBoxNameStr = 'bitmapComboBox'
59
- CheckBoxNameStr = 'check'
60
- FileDialogNameStr = 'filedlg'
61
- AddRemoveCtrlNameStr = 'wxAddRemoveCtrl'
62
- StaticTextNameStr = 'staticText'
63
- ComboBoxNameStr = 'comboBox'
64
- SearchCtrlNameStr = 'searchCtrl'
65
- DirDialogNameStr = 'wxDirCtrl'
66
- TreeCtrlNameStr = 'treeCtrl'
67
- DialogNameStr = 'dialog'
68
- CollapsibleHeaderCtrlNameStr = 'collapsibleHeader'
69
- CollapsiblePaneNameStr = 'collapsiblePane'
70
- BannerWindowNameStr = 'bannerwindow'
71
- GridNameStr = 'grid'
72
- TreeListCtrlNameStr = 'wxTreeListCtrl'
73
- HtmlListBoxNameStr = 'htmlListBox'
74
- SimpleHtmlListBoxNameStr = 'simpleHtmlListBox'
75
- EditableListBoxNameStr = 'editableListBox'
76
- VListBoxNameStr = 'wxVListBox'
77
- CollapsiblePaneNameStr = 'collapsiblePane'
78
- MSWHeaderCtrlNameStr = 'wxMSWHeaderCtrl'
79
- PropertyGridManagerNameStr = 'wxPropertyGridManager'
80
- PropertyGridNameStr = 'wxPropertyGrid'
81
- STCNameStr = 'stcwindow'
82
- STCNameStr = 'stcwindow'
20
+ CHOICE_NAME_STR = 'choice'
21
+ COLOUR_PICKER_CTRL_NAME_STR = 'colourpicker'
22
+ COLOUR_PICKER_WIDGET_NAME_STR = 'colourpickerwidget'
23
+ HYPERLINK_CTRL_NAME_STR = 'hyperlink'
24
+ PANEL_NAME_STR = 'panel'
25
+ LIST_BOX_NAME_STR = 'listBox'
26
+ FRAME_NAME_STR = 'frame'
27
+ STATUS_LINE_NAME_STR = 'status_line'
28
+ STATIC_BITMAP_NAME_STR = 'staticBitmap'
29
+ WEB_VIEW_NAME_STR = 'wxWebView'
30
+ ANIMATION_CTRL_NAME_STR = 'animationctrl'
31
+ TOOL_BAR_NAME_STR = 'toolbar'
32
+ TEXT_CTRL_NAME_STR = 'text'
33
+ LIST_CTRL_NAME_STR = 'listCtrl'
34
+ FILE_PICKER_CTRL_NAME_STR = 'filepicker'
35
+ FILE_PICKER_WIDGET_NAME_STR = 'filepickerwidget'
36
+ DIR_PICKER_CTRL_NAME_STR = 'dirpicker'
37
+ DIR_PICKER_WIDGET_NAME_STR = 'dirpickerwidget'
38
+ FILE_CTRL_NAME_STR = 'wxfilectrl'
39
+ FILE_SELECTOR_PROMPT_STR = 'Select a file'
40
+ STATIC_BOX_NAME_STR = 'groupBox'
41
+ BUTTON_NAME_STR = 'button'
42
+ RADIO_BOX_NAME_STR = 'radioBox'
43
+ STATIC_LINE_NAME_STR = 'staticLine'
44
+ RADIO_BUTTON_NAME_STR = 'radioButton'
45
+ BITMAP_RADIO_BUTTON_NAME_STR = 'radioButton'
46
+ GAUGE_NAME_STR = 'gauge'
47
+ DATA_VIEW_CTRL_NAME_STR = 'dataviewCtrl'
48
+ FONT_PICKER_CTRL_NAME_STR = 'fontpicker'
49
+ FONT_PICKER_WIDGET_NAME_STR = 'fontpickerwidget'
50
+ REARRANGE_LIST_NAME_STR = 'wxRearrangeList'
51
+ REARRANGE_DIALOG_NAME_STR = 'wxRearrangeDlg'
52
+ NOTEBOOK_NAME_STR = 'notebook'
53
+ CONTROL_NAME_STR = 'control'
54
+ SCROLL_BAR_NAME_STR = 'scrollBar'
55
+ STATUS_BAR_NAME_STR = 'statusBar'
56
+ SLIDER_NAME_STR = 'slider'
57
+ HEADER_CTRL_NAME_STR = 'wxHeaderCtrl'
58
+ BITMAP_COMBO_BOX_NAME_STR = 'bitmapComboBox'
59
+ CHECK_BOX_NAME_STR = 'check'
60
+ FILE_DIALOG_NAME_STR = 'filedlg'
61
+ ADD_REMOVE_CTRL_NAME_STR = 'wxAddRemoveCtrl'
62
+ STATIC_TEXT_NAME_STR = 'staticText'
63
+ COMBO_BOX_NAME_STR = 'comboBox'
64
+ SEARCH_CTRL_NAME_STR = 'searchCtrl'
65
+ TREE_CTRL_NAME_STR = 'treeCtrl'
66
+ DIALOG_NAME_STR = 'dialog'
67
+ COLLAPSIBLE_HEADER_CTRL_NAME_STR = 'collapsibleHeader'
68
+ COLLAPSIBLE_PANE_NAME_STR = 'collapsiblePane'
69
+ BANNER_WINDOW_NAME_STR = 'bannerwindow'
70
+ GRID_NAME_STR = 'grid'
71
+ TREE_LIST_CTRL_NAME_STR = 'wxTreeListCtrl'
72
+ HTML_LIST_BOX_NAME_STR = 'htmlListBox'
73
+ SIMPLE_HTML_LIST_BOX_NAME_STR = 'simpleHtmlListBox'
74
+ EDITABLE_LIST_BOX_NAME_STR = 'editableListBox'
75
+ V_LIST_BOX_NAME_STR = 'wxVListBox'
76
+
77
+ # wxMSW only
78
+ MSW_HEADER_CTRL_NAME_STR = 'wxMSWHeaderCtrl'
79
+
80
+ PROPERTY_GRID_MANAGER_NAME_STR = 'wxPropertyGridManager'
81
+ PROPERTY_GRID_NAME_STR = 'wxPropertyGrid'
82
+ STC_NAME_STR = 'stcwindow'
83
83
 
84
84
  end
data/lib/wx/doc/event.rb CHANGED
@@ -27,10 +27,4 @@ module Wx
27
27
 
28
28
  end
29
29
 
30
- # Find a window with the focus, that is also a descendant of the given window.
31
- # This is used to determine the window to initially send commands to.
32
- # @param [Wx::Window] ancestor
33
- # @return [Wx::Window,nil] descendant window of ancestor with focus
34
- def self.find_focus_descendant(ancestor) end
35
-
36
30
  end
@@ -190,21 +190,21 @@ module Wx
190
190
  # # else: cancelled by user
191
191
  # </code>
192
192
  # @return [String] selected file name
193
- def file_selector(message, default_path='', default_filename='', default_extension='', wildcard='',
193
+ def self.file_selector(message, default_path='', default_filename='', default_extension='', wildcard='',
194
194
  flags=0, parent=nil, x=Wx::DEFAULT_COORD, y=Wx::DEFAULT_COORD) end
195
195
 
196
196
  # An extended version of {Wx::file_selector}.
197
197
  # @return [String] selected file name
198
- def file_selector_ex(message='Select a file', default_path='', default_filename='', indexDefaultExtension=nil,
198
+ def self.file_selector_ex(message='Select a file', default_path='', default_filename='', indexDefaultExtension=nil,
199
199
  wildcard='*', flags=0, parent=nil, x=Wx::DEFAULT_COORD, y=Wx::DEFAULT_COORD) end
200
200
 
201
201
  # Shows a file dialog asking the user for a file name for saving a file.
202
202
  # @see Wx::file_selector, Wx::FileDialog
203
- def load_file_selector(what, extension, default_name='', parent=nil) end
203
+ def self.load_file_selector(what, extension, default_name='', parent=nil) end
204
204
 
205
205
  # Shows a file dialog asking the user for a file name for opening a file.
206
206
  # @see Wx::file_selector, Wx::FileDialog
207
- def save_file_selector(what, extension, default_name='', parent=nil) end
207
+ def self.save_file_selector(what, extension, default_name='', parent=nil) end
208
208
 
209
209
  # @!endgroup
210
210
 
@@ -213,14 +213,14 @@ module Wx
213
213
  # Returns true if the ID is in the list of recognized stock actions
214
214
  # @param [Integer] id ID to check
215
215
  # @return [true,false]
216
- def is_stock_id(id) end
216
+ def self.is_stock_id(id) end
217
217
 
218
218
  # Returns true if the label is empty or label of a stock button with
219
219
  # given ID
220
220
  # @param [Integer] id ID to check
221
221
  # @param [String] label to check
222
222
  # @return [true,false]
223
- def is_stock_label(id, label) end
223
+ def self.is_stock_label(id, label) end
224
224
 
225
225
  STOCK_NOFLAGS = 0
226
226
 
@@ -236,13 +236,13 @@ module Wx
236
236
  # @param [Integer] id Given id of the wxMenuItem, wxButton, wxToolBar tool, etc.
237
237
  # @param [Integer] flags Combination of the elements of STOCK_xxx flags.
238
238
  # @return [String]
239
- def get_stock_label(id, flags = Wx::STOCK_WITH_MNEMONIC) end
239
+ def self.get_stock_label(id, flags = Wx::STOCK_WITH_MNEMONIC) end
240
240
 
241
241
  # Returns the accelerator that should be used for given stock UI element
242
242
  # (e.g. "Ctrl+X" for Wx::ID_CUT)
243
243
  # @param [Integer] id stock UI element ID
244
244
  # @return [Wx::AcceleratorEntry]
245
- def get_stock_accelerator(id) end
245
+ def self.get_stock_accelerator(id) end
246
246
 
247
247
  STOCK_MENU = 0
248
248
 
@@ -250,7 +250,7 @@ module Wx
250
250
  # @param [Integer] id stock UI element ID
251
251
  # @param [Integer] client context (currently only STOCK_MENU)
252
252
  # @return [String]
253
- def get_stock_help_string(id, client = Wx::STOCK_MENU) end
253
+ def self.get_stock_help_string(id, client = Wx::STOCK_MENU) end
254
254
 
255
255
  # @!endgroup
256
256
 
data/lib/wx/doc/window.rb CHANGED
@@ -48,4 +48,9 @@ class Wx::Window
48
48
  # @return [Wx::Window]
49
49
  def find_window_by_name(name) end
50
50
 
51
+ # Switches the current sizer with the given sizer and detaches and returns the 'old' sizer.
52
+ # @param [Wx::Sizer] new_sizer new sizer for window
53
+ # @return [Wx::Sizer] previous window sizer
54
+ def switch_sizer(new_sizer) end
55
+
51
56
  end
@@ -349,8 +349,6 @@ Wx::define_keyword_ctors(Wx::ComboCtrl) do
349
349
  wx_ctor_params :validator, :name => 'comboCtrl'
350
350
  end
351
351
 
352
- # wxDatePickerCtrl Small date picker control
353
-
354
352
  # wxGauge A control to represent a varying quantity, such as time
355
353
  # remaining
356
354
  Wx::define_keyword_ctors(Wx::Gauge) do
@@ -514,8 +512,50 @@ Wx::define_keyword_ctors(Wx::VListBox) do
514
512
  wx_ctor_params :id, :pos, :size, :style, :name => 'VListBoxNameStr'
515
513
  end
516
514
 
515
+ # wxDatePickerCtrl Small date picker control
517
516
  Wx::define_keyword_ctors(Wx::DatePickerCtrl) do
518
- wx_ctor_params :id, :dt, :pos, :size, :style, :validator, :name => 'dateCtrl'
517
+ wx_ctor_params :id, :dt, :pos, :size, :style => Wx::DP_DEFAULT|Wx::DP_SHOWCENTURY
518
+ wx_ctor_params :validator, :name => 'datePickerCtrl'
519
+ end
520
+
521
+ Wx::define_keyword_ctors(Wx::TimePickerCtrl) do
522
+ wx_ctor_params :id, :dt, :pos, :size, :style => Wx::TP_DEFAULT
523
+ wx_ctor_params :validator, :name => 'timePickerCtrl'
524
+ end
525
+
526
+ Wx::define_keyword_ctors(Wx::ColourPickerCtrl) do
527
+ wx_ctor_params :id, :colour => :BLACK
528
+ wx_ctor_params :pos, :size, :style => Wx::CLRP_DEFAULT_STYLE
529
+ wx_ctor_params :validator, :name => 'colourPickerCtrl'
530
+ end
531
+
532
+ Wx::define_keyword_ctors(Wx::FontPickerCtrl) do
533
+ wx_ctor_params :id, :font => Wx::NULL_FONT
534
+ wx_ctor_params :pos, :size, :style => Wx::FNTP_DEFAULT_STYLE
535
+ wx_ctor_params :validator, :name => 'fontPickerCtrl'
536
+ end
537
+
538
+ Wx::define_keyword_ctors(Wx::FilePickerCtrl) do
539
+ wx_ctor_params :id, :path => ''
540
+ wx_ctor_params :message => Wx::FILE_SELECTOR_PROMPT_STR
541
+ wx_ctor_params :wildcard => Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR
542
+ wx_ctor_params :pos, :size, :style => Wx::FLP_DEFAULT_STYLE
543
+ wx_ctor_params :validator, :name => 'filePickerCtrl'
544
+ end
545
+
546
+ Wx::define_keyword_ctors(Wx::DirPickerCtrl) do
547
+ wx_ctor_params :id, :path => ''
548
+ wx_ctor_params :message => Wx::DIR_SELECTOR_PROMPT_STR
549
+ wx_ctor_params :pos, :size, :style => Wx::DIRP_DEFAULT_STYLE
550
+ wx_ctor_params :validator, :name => 'dirPickerCtrl'
551
+ end
552
+
553
+ Wx::define_keyword_ctors(Wx::FileCtrl) do
554
+ wx_ctor_params :id, :defaultDirectory => ''
555
+ wx_ctor_params :defaultFilename => ''
556
+ wx_ctor_params :wildcard => Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR
557
+ wx_ctor_params :style => Wx::FC_DEFAULT_STYLE
558
+ wx_ctor_params :pos, :size, :name => 'fileCtrl'
519
559
  end
520
560
 
521
561
  Wx::define_keyword_ctors(Wx::ActivityIndicator) do
@@ -542,6 +582,3 @@ Wx::define_keyword_ctors(Wx::RearrangeCtrl) do
542
582
  wx_ctor_params :id, :pos, :size, :order, :items, :style
543
583
  wx_ctor_params :validator, :name => 'rearrangeCtrl'
544
584
  end
545
-
546
- # FIXME - SymbolPickerDialog is hard to because the parent argument is
547
- # in a strange place.
data/lib/wx/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  # This software is released under the MIT license.
4
4
 
5
5
  module Wx
6
- WXRUBY_VERSION = '0.9.0'
6
+ WXRUBY_VERSION = '0.9.1'
7
7
  end