wxruby3 0.9.0 → 0.9.1

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 (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