rwx 0.0.1.dev → 0.0.1.1.dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rspec +2 -0
  4. data/Rakefile +8 -0
  5. data/VERSION +1 -1
  6. data/ext/extconf.rb +5 -1
  7. data/ext/main.cpp +3 -3
  8. data/ext/main.hpp +34 -1
  9. data/ext/rwx.cpp +17 -0
  10. data/ext/wxAnyButton.cpp +7 -6
  11. data/ext/wxApp.cpp +1 -1
  12. data/ext/wxApp.hpp +1 -1
  13. data/ext/wxAuiBook.cpp +5 -1
  14. data/ext/wxAuiPane.cpp +7 -6
  15. data/ext/wxBitmap.cpp +42 -6
  16. data/ext/wxBitmapButton.cpp +3 -2
  17. data/ext/wxBitmapComboBox.cpp +25 -11
  18. data/ext/wxBitmapToggleButton.cpp +4 -2
  19. data/ext/wxBookCtrl.cpp +13 -13
  20. data/ext/wxBrush.cpp +69 -12
  21. data/ext/wxBrush.hpp +6 -0
  22. data/ext/wxButton.cpp +3 -2
  23. data/ext/wxCalendarCtrl.cpp +7 -6
  24. data/ext/wxCalendarCtrlBase.cpp +4 -2
  25. data/ext/wxCalendarCtrlGeneric.cpp +10 -9
  26. data/ext/wxCheckBox.cpp +10 -5
  27. data/ext/wxCheckListBox.cpp +10 -9
  28. data/ext/wxChoice.cpp +10 -9
  29. data/ext/wxChoiceBook.cpp +5 -1
  30. data/ext/wxCollapsiblePane.cpp +8 -5
  31. data/ext/wxColor.cpp +69 -25
  32. data/ext/wxColor.hpp +3 -0
  33. data/ext/wxColorPicker.cpp +11 -5
  34. data/ext/wxColorPickerWidget.cpp +10 -8
  35. data/ext/wxComboBox.cpp +3 -3
  36. data/ext/wxComboCtrl.cpp +220 -0
  37. data/ext/wxComboCtrl.hpp +22 -0
  38. data/ext/wxControl.cpp +2 -2
  39. data/ext/wxDC.cpp +5 -4
  40. data/ext/wxDatePicker.cpp +10 -7
  41. data/ext/wxDirCtrl.cpp +161 -0
  42. data/ext/wxDirCtrl.hpp +21 -0
  43. data/ext/wxDirPicker.cpp +5 -5
  44. data/ext/wxDirPickerWidget.cpp +10 -8
  45. data/ext/wxFileCtrl.cpp +5 -2
  46. data/ext/wxFileCtrlBase.cpp +31 -7
  47. data/ext/wxFileCtrlGeneric.cpp +5 -2
  48. data/ext/wxFileDialog.cpp +20 -25
  49. data/ext/wxFileDirPicker.cpp +6 -6
  50. data/ext/wxFilePicker.cpp +6 -6
  51. data/ext/wxFilePickerWidget.cpp +10 -9
  52. data/ext/wxFont.cpp +6 -5
  53. data/ext/wxFontDialog.cpp +11 -22
  54. data/ext/wxFontPicker.cpp +17 -5
  55. data/ext/wxFontPickerWidget.cpp +10 -9
  56. data/ext/wxFrame.cpp +6 -4
  57. data/ext/wxGauge.cpp +9 -5
  58. data/ext/wxGrid.cpp +7 -5
  59. data/ext/wxGridCellAttr.cpp +6 -6
  60. data/ext/wxHyperLink.cpp +12 -11
  61. data/ext/wxImage.cpp +15 -10
  62. data/ext/wxInfoBar.cpp +2 -1
  63. data/ext/wxInfoBarGeneric.cpp +2 -1
  64. data/ext/wxItemContainer.cpp +5 -0
  65. data/ext/wxListBook.cpp +5 -2
  66. data/ext/wxListBox.cpp +10 -8
  67. data/ext/wxMenu.cpp +5 -4
  68. data/ext/wxMenuItem.cpp +9 -7
  69. data/ext/wxMultiChoiceDialog.cpp +5 -3
  70. data/ext/wxNoteBook.cpp +4 -2
  71. data/ext/wxOwnerDrawnComboBox.cpp +223 -0
  72. data/ext/wxOwnerDrawnComboBox.hpp +22 -0
  73. data/ext/wxPalette.cpp +1 -1
  74. data/ext/wxPanel.cpp +4 -3
  75. data/ext/wxPasswordEntryDialog.cpp +1 -1
  76. data/ext/wxPen.cpp +49 -10
  77. data/ext/wxPoint.cpp +6 -6
  78. data/ext/wxPreferences.cpp +21 -6
  79. data/ext/wxProperty.cpp +5 -7
  80. data/ext/wxPropertyCell.cpp +5 -4
  81. data/ext/wxPropertyGrid.cpp +26 -27
  82. data/ext/wxPropertyGridManager.cpp +13 -5
  83. data/ext/wxRadioBox.cpp +14 -11
  84. data/ext/wxRadioButton.cpp +9 -3
  85. data/ext/wxRearrangeCtrl.cpp +5 -1
  86. data/ext/wxRearrangeList.cpp +5 -2
  87. data/ext/wxRect.cpp +8 -7
  88. data/ext/wxRichTextCtrl.cpp +12 -6
  89. data/ext/wxRichTextStyle.cpp +5 -5
  90. data/ext/wxRichTextStyleSheet.cpp +7 -5
  91. data/ext/wxSTC.cpp +5 -1
  92. data/ext/wxSearchCtrl.cpp +12 -10
  93. data/ext/wxSimpleBook.cpp +5 -1
  94. data/ext/wxSingleChoiceDialog.cpp +4 -2
  95. data/ext/wxSize.cpp +8 -7
  96. data/ext/wxSlider.cpp +12 -7
  97. data/ext/wxSpinButton.cpp +14 -11
  98. data/ext/wxSpinButton.hpp +1 -1
  99. data/ext/wxSpinCtrl.cpp +18 -11
  100. data/ext/wxSpinCtrlDouble.cpp +161 -0
  101. data/ext/wxSpinCtrlDouble.hpp +21 -0
  102. data/ext/wxStaticBitmap.cpp +3 -1
  103. data/ext/wxStaticBitmapBase.cpp +4 -2
  104. data/ext/wxStaticBitmapGeneric.cpp +3 -1
  105. data/ext/wxStaticBox.cpp +7 -6
  106. data/ext/wxStaticLine.cpp +5 -1
  107. data/ext/wxStaticText.cpp +5 -1
  108. data/ext/wxStatusBar.cpp +12 -10
  109. data/ext/wxTaskBar.cpp +6 -4
  110. data/ext/wxTextCtrl.cpp +9 -3
  111. data/ext/wxTextEntry.cpp +8 -3
  112. data/ext/wxTimePicker.cpp +11 -8
  113. data/ext/wxTimer.cpp +4 -2
  114. data/ext/wxToggleButton.cpp +3 -1
  115. data/ext/wxToolBar.cpp +5 -1
  116. data/ext/wxToolBarTool.cpp +9 -8
  117. data/ext/wxToolBook.cpp +5 -2
  118. data/ext/wxTreeBook.cpp +5 -1
  119. data/ext/wxTreeCtrl.cpp +8 -7
  120. data/ext/wxWindow.cpp +3 -1
  121. data/ext/wxWizard.cpp +10 -10
  122. data/ext/wxWizardPage.cpp +11 -9
  123. data/rwx.gemspec +4 -2
  124. data/samples/controls/controls.rb +0 -5
  125. data/samples/dialog/dialog_sample.rb +0 -3
  126. data/spec/color_spec.rb +55 -0
  127. data/spec/spec_helper.rb +12 -0
  128. metadata +28 -3
@@ -102,6 +102,8 @@ macro_attr(Message,wxString)
102
102
  macro_attr(Path,wxString)
103
103
 
104
104
  singlereturn(GetFilterIndex)
105
+ singlereturn_array(GetFilenames, wxArrayString)
106
+ singlereturn_array(GetPaths, wxArrayString)
105
107
 
106
108
 
107
109
  VALUE _setFilterIndex(VALUE self,VALUE other)
@@ -115,22 +117,6 @@ VALUE _setFilterIndex(VALUE self,VALUE other)
115
117
  return other;
116
118
  }
117
119
 
118
-
119
- DLL_LOCAL VALUE _getFilenames(VALUE self)
120
- {
121
- wxArrayString result;
122
- _self->GetFilenames(result);
123
- return wrap(result);
124
- }
125
-
126
- DLL_LOCAL VALUE _getPaths(VALUE self)
127
- {
128
- wxArrayString result;
129
- _self->GetPaths(result);
130
- return wrap(result);
131
- }
132
-
133
-
134
120
  DLL_LOCAL VALUE _saveFileSelector(int argc,VALUE *argv,VALUE self)
135
121
  {
136
122
  VALUE what,extension,default_name,parent;
@@ -176,6 +162,12 @@ DLL_LOCAL VALUE _loadFileSelector(int argc,VALUE *argv,VALUE self)
176
162
  /* Document-attr: path
177
163
  * the path of the FileDialog. String
178
164
  */
165
+ /* Document-attr: filenames
166
+ * the filenamex of the FileDialog. Array<String>
167
+ */
168
+ /* Document-attr: paths
169
+ * the paths of the FileDialog. Array<String>
170
+ */
179
171
 
180
172
 
181
173
  /* Document-const: OPEN
@@ -218,22 +210,25 @@ DLL_LOCAL void Init_WXFileDialog(VALUE rb_mWX)
218
210
 
219
211
  rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
220
212
  rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
213
+ #endif
221
214
 
215
+ #if wxUSE_FILEDLG
216
+ using namespace RubyWX::FileDialog;
217
+ rb_cWXFileDialog = rb_define_class_under(rb_mWX,"FileDialog",rb_cWXDialog);
218
+ rb_define_alloc_func(rb_cWXFileDialog,_alloc);
219
+ rb_define_method(rb_cWXFileDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
220
+
221
+ #if 0
222
222
  rb_define_attr(rb_cWXFileDialog,"directory",1,1);
223
223
  rb_define_attr(rb_cWXFileDialog,"filename",1,1);
224
224
  rb_define_attr(rb_cWXFileDialog,"filter_index",1,1);
225
225
  rb_define_attr(rb_cWXFileDialog,"wildcard",1,1);
226
226
  rb_define_attr(rb_cWXFileDialog,"message",1,1);
227
227
  rb_define_attr(rb_cWXFileDialog,"path",1,1);
228
-
228
+ rb_define_attr(rb_cWXFileDialog,"filenames",1,0);
229
+ rb_define_attr(rb_cWXFileDialog,"paths",1,0);
229
230
  #endif
230
231
 
231
- #if wxUSE_FILEDLG
232
- using namespace RubyWX::FileDialog;
233
- rb_cWXFileDialog = rb_define_class_under(rb_mWX,"FileDialog",rb_cWXDialog);
234
- rb_define_alloc_func(rb_cWXFileDialog,_alloc);
235
- rb_define_method(rb_cWXFileDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
236
-
237
232
  rb_define_attr_method(rb_cWXFileDialog,"directory",_getDirectory,_setDirectory);
238
233
  rb_define_attr_method(rb_cWXFileDialog,"filename",_getFilename,_setFilename);
239
234
  rb_define_attr_method(rb_cWXFileDialog,"wildcard",_getWildcard,_setWildcard);
@@ -241,8 +236,8 @@ DLL_LOCAL void Init_WXFileDialog(VALUE rb_mWX)
241
236
  rb_define_attr_method(rb_cWXFileDialog,"message",_getMessage,_setMessage);
242
237
  rb_define_attr_method(rb_cWXFileDialog,"path",_getPath,_setPath);
243
238
 
244
- rb_define_method(rb_cWXFileDialog,"filenames",RUBY_METHOD_FUNC(_getFilenames),0);
245
- rb_define_method(rb_cWXFileDialog,"paths",RUBY_METHOD_FUNC(_getPaths),0);
239
+ rb_define_attr_method(rb_cWXFileDialog,"filenames",_GetFilenames,NULL);
240
+ rb_define_attr_method(rb_cWXFileDialog,"paths",_GetPaths,NULL);
246
241
 
247
242
  rb_define_module_function(rb_mWX,"load_dialog",RUBY_METHOD_FUNC(_loadFileSelector),-1);
248
243
  rb_define_module_function(rb_mWX,"save_dialog",RUBY_METHOD_FUNC(_saveFileSelector),-1);
@@ -63,20 +63,20 @@ DLL_LOCAL void Init_WXFileDirPicker(VALUE rb_mWX)
63
63
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
64
64
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
65
65
  rb_cWXPickerBase = rb_define_class_under(rb_mWX,"PickerBase",rb_cWXControl);
66
-
67
-
68
- rb_define_attr(rb_cWXFileDirPicker,"path",1,1);
69
- rb_define_attr(rb_cWXFileDirPickerEvent,"path",1,1);
70
66
  #endif
71
67
 
72
68
  #if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
73
69
  using namespace RubyWX::FileDirPicker;
74
70
  rb_cWXFileDirPicker = rb_define_class_under(rb_mWX,"FileDirPicker",rb_cWXPickerBase);
75
71
  rb_undef_alloc_func(rb_cWXFileDirPicker);
72
+ rb_cWXFileDirPickerEvent = rb_define_class_under(rb_cWXEvent,"FileDirPicker",rb_cWXEvent);
76
73
 
77
- rb_define_attr_method(rb_cWXFileDirPicker,"path",_getPath,_setPath);
74
+ #if 0
75
+ rb_define_attr(rb_cWXFileDirPicker,"path",1,1);
76
+ rb_define_attr(rb_cWXFileDirPickerEvent,"path",1,1);
77
+ #endif
78
78
 
79
- rb_cWXFileDirPickerEvent = rb_define_class_under(rb_cWXEvent,"FileDirPicker",rb_cWXEvent);
79
+ rb_define_attr_method(rb_cWXFileDirPicker,"path",_getPath,_setPath);
80
80
 
81
81
  rb_define_attr_method(rb_cWXFileDirPickerEvent,"path",
82
82
  Event::_getPath,Event::_setPath);
@@ -83,12 +83,12 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
83
83
  }
84
84
 
85
85
  FileDirPicker::check_style_flags(style);
86
-
87
- _self->Create(
88
- unwrap<wxWindow*>(parent),id,path,
89
- message,wildCard,
90
- wxDefaultPosition,wxDefaultSize,style
91
- );
86
+ if(nil_check(parent))
87
+ _self->Create(
88
+ unwrap<wxWindow*>(parent),id,path,
89
+ message,wildCard,
90
+ wxDefaultPosition,wxDefaultSize,style
91
+ );
92
92
 
93
93
  }
94
94
  rb_call_super(argc,argv);
@@ -61,12 +61,12 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
61
61
  }
62
62
 
63
63
  FileDirPicker::check_style_flags(style);
64
-
65
- _self->Create(
66
- unwrap<wxWindow*>(parent),id,label,path,
67
- message,wildCard,
68
- wxDefaultPosition,wxDefaultSize,style
69
- );
64
+ if(nil_check(parent))
65
+ _self->Create(
66
+ unwrap<wxWindow*>(parent),id,label,path,
67
+ message,wildCard,
68
+ wxDefaultPosition,wxDefaultSize,style
69
+ );
70
70
 
71
71
  }
72
72
 
@@ -112,9 +112,6 @@ DLL_LOCAL void Init_WXFilePickerWidget(VALUE rb_mWX)
112
112
  rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
113
113
 
114
114
  rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
115
-
116
- rb_define_attr(rb_cWXFilePickerWidget,"path",1,1);
117
-
118
115
  #endif
119
116
 
120
117
  #if wxUSE_FILEPICKERCTRL
@@ -122,6 +119,10 @@ DLL_LOCAL void Init_WXFilePickerWidget(VALUE rb_mWX)
122
119
  rb_cWXFilePickerWidget = rb_define_class_under(rb_mWX,"FilePickerWidget",rb_cWXButton);
123
120
  rb_define_alloc_func(rb_cWXFilePickerWidget,_alloc);
124
121
 
122
+ #if 0
123
+ rb_define_attr(rb_cWXFilePickerWidget,"path",1,1);
124
+ #endif
125
+
125
126
  rb_define_method(rb_cWXFilePickerWidget,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
126
127
 
127
128
  rb_define_attr_method(rb_cWXFilePickerWidget,"path",_getPath,_setPath);
@@ -414,6 +414,11 @@ DLL_LOCAL VALUE _class_get(int argc,VALUE *argv,VALUE self)
414
414
 
415
415
  DLL_LOCAL void Init_WXFont(VALUE rb_mWX)
416
416
  {
417
+
418
+ using namespace RubyWX::Font;
419
+ rb_cWXFont = rb_define_class_under(rb_mWX,"Font",rb_cObject);
420
+ rb_define_alloc_func(rb_cWXFont,_alloc);
421
+
417
422
  #if 0
418
423
  rb_define_attr(rb_cWXFont,"point_size",1,1);
419
424
  rb_define_attr(rb_cWXFont,"pixel_size",1,1);
@@ -431,10 +436,6 @@ DLL_LOCAL void Init_WXFont(VALUE rb_mWX)
431
436
  rb_define_const(rb_cWXFont,"SWISS",wrap(wxSWISS_FONT));
432
437
  #endif
433
438
 
434
- using namespace RubyWX::Font;
435
- rb_cWXFont = rb_define_class_under(rb_mWX,"Font",rb_cObject);
436
- rb_define_alloc_func(rb_cWXFont,_alloc);
437
-
438
439
  rb_define_method(rb_cWXFont,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
439
440
 
440
441
  rb_define_method(rb_cWXFont,"smaller",RUBY_METHOD_FUNC(_Smaller),0);
@@ -469,7 +470,7 @@ DLL_LOCAL void Init_WXFont(VALUE rb_mWX)
469
470
  rb_define_attr_method(rb_cWXFont,"encoding",_getEncoding,_setEncoding);
470
471
  #endif
471
472
  rb_define_method(rb_cWXFont,"marshal_dump",RUBY_METHOD_FUNC(_marshal_dump),0);
472
- rb_define_method(rb_cWXFont,"marshal_load",RUBY_METHOD_FUNC(_marshal_load),1);
473
+ rb_define_method(rb_cWXFont,"marshal_load",RUBY_METHOD_FUNC(_marshal_load),-2);
473
474
 
474
475
  rb_define_singleton_method(rb_cWXFont,"[]",RUBY_METHOD_FUNC(_class_get),-1);
475
476
 
@@ -47,23 +47,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
47
47
 
48
48
  if(rb_obj_is_kind_of(hash,rb_cHash))
49
49
  {
50
- wxColour color(wxNullColour);
51
- wxFont font(wxNullFont);
52
- bool symbols(false);
53
- bool show_help(false);
54
50
 
55
- set_hash_option(hash,"color",color);
56
- set_hash_option(hash,"font",font);
57
- set_hash_option(hash,"symbols",symbols);
58
- set_hash_option(hash,"show_help",show_help);
59
-
60
- if(color.IsOk())
61
- data.SetColour(color);
62
- if(font.IsOk())
63
- data.SetInitialFont(font);
64
-
65
- data.SetAllowSymbols(symbols);
66
- data.SetShowHelp(show_help);
51
+ set_hash_option(hash,"color",&wxFontData::SetColour, data);
52
+ set_hash_option(hash,"font",&wxFontData::SetInitialFont, data);
53
+ set_hash_option(hash,"symbols",&wxFontData::SetAllowSymbols, data);
54
+ set_hash_option(hash,"show_help",&wxFontData::SetShowHelp, data);
67
55
 
68
56
  }
69
57
  _self->Create(unwrap<wxWindow*>(parent),data);
@@ -111,7 +99,14 @@ DLL_LOCAL void Init_WXFontDialog(VALUE rb_mWX)
111
99
  rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
112
100
 
113
101
  rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
102
+ #endif
103
+ #if wxUSE_FONTDLG
104
+ using namespace RubyWX::FontDialog;
105
+ rb_cWXFontDialog = rb_define_class_under(rb_mWX,"FontDialog",rb_cWXDialog);
106
+ rb_define_alloc_func(rb_cWXFontDialog,_alloc);
107
+ rb_define_method(rb_cWXFontDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
114
108
 
109
+ #if 0
115
110
  rb_define_attr(rb_cWXFontDialog,"initial_font",1,1);
116
111
  rb_define_attr(rb_cWXFontDialog,"chosen_font",1,1);
117
112
 
@@ -121,12 +116,6 @@ DLL_LOCAL void Init_WXFontDialog(VALUE rb_mWX)
121
116
  rb_define_attr(rb_cWXFontDialog,"show_help",1,1);
122
117
  #endif
123
118
 
124
- #if wxUSE_FONTDLG
125
- using namespace RubyWX::FontDialog;
126
- rb_cWXFontDialog = rb_define_class_under(rb_mWX,"FontDialog",rb_cWXDialog);
127
- rb_define_alloc_func(rb_cWXFontDialog,_alloc);
128
- rb_define_method(rb_cWXFontDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
129
-
130
119
  rb_define_attr_method(rb_cWXFontDialog,"initial_font",_getInitialFont,_setInitialFont);
131
120
  rb_define_attr_method(rb_cWXFontDialog,"chosen_font",_getChosenFont,_setChosenFont);
132
121
 
@@ -63,8 +63,10 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
63
63
  set_hash_flag_option(hash,"fontdesc_as_label",wxFNTP_FONTDESC_AS_LABEL,style);
64
64
  set_hash_flag_option(hash,"font_for_label",wxFNTP_USEFONT_FOR_LABEL,style);
65
65
  }
66
-
67
- _self->Create(unwrap<wxWindow*>(parent),id,font,wxDefaultPosition,wxDefaultSize,style);
66
+ if(nil_check(parent))
67
+ _self->Create(unwrap<wxWindow*>(parent),id,
68
+ font,wxDefaultPosition,wxDefaultSize,style
69
+ );
68
70
  }
69
71
 
70
72
  rb_call_super(argc,argv);
@@ -74,7 +76,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
74
76
  VALUE temp;
75
77
 
76
78
  set_option(selected_font,SelectedFont,wxFont)
79
+ #ifdef HAVE_WXFONTPICKERCTRL_GETSELECTEDCOLOUR
77
80
  set_option(selected_color,SelectedColour,wxColor)
81
+ #endif
78
82
  }
79
83
  return self;
80
84
  }
@@ -124,14 +128,17 @@ DLL_LOCAL void Init_WXFontPicker(VALUE rb_mWX)
124
128
 
125
129
  rb_cWXEvent = rb_define_class_under(rb_mWX,"Event",rb_cObject);
126
130
 
127
- rb_define_attr(rb_cWXFontPicker,"selected_font",1,1);
128
- rb_define_attr(rb_cWXFontPicker,"selected_color",1,1);
129
- rb_define_attr(rb_cWXFontPickerEvent,"font",1,1);
130
131
  #endif
131
132
 
132
133
  #if wxUSE_FONTPICKERCTRL
133
134
  using namespace RubyWX::FontPicker;
134
135
  rb_cWXFontPicker = rb_define_class_under(rb_mWX,"FontPicker",rb_cWXPickerBase);
136
+
137
+ #if 0
138
+ rb_define_attr(rb_cWXFontPicker,"selected_font",1,1);
139
+ rb_define_attr(rb_cWXFontPicker,"selected_color",1,1);
140
+ #endif
141
+
135
142
  rb_define_alloc_func(rb_cWXFontPicker,_alloc);
136
143
 
137
144
  rb_define_method(rb_cWXFontPicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
@@ -143,6 +150,11 @@ DLL_LOCAL void Init_WXFontPicker(VALUE rb_mWX)
143
150
  #endif
144
151
 
145
152
  rb_cWXFontPickerEvent = rb_define_class_under(rb_cWXEvent,"FontPicker",rb_cWXEvent);
153
+
154
+ #if 0
155
+ rb_define_attr(rb_cWXFontPickerEvent,"font",1,1);
156
+ #endif
157
+
146
158
  registerEventType("fontpicker_changed",wxEVT_FONTPICKER_CHANGED,rb_cWXFontPickerEvent);
147
159
  rb_define_attr_method(rb_cWXFontPickerEvent,"font",Event::_getFont,Event::_setFont);
148
160
 
@@ -58,11 +58,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
58
58
  set_hash_flag_option(hash,"font_for_label",wxFNTP_USEFONT_FOR_LABEL,style);
59
59
 
60
60
  }
61
-
62
- _self->Create(
63
- unwrap<wxWindow*>(parent),id,font,
64
- wxDefaultPosition,wxDefaultSize,style
65
- );
61
+ if(nil_check(parent))
62
+ _self->Create(
63
+ unwrap<wxWindow*>(parent),id,font,
64
+ wxDefaultPosition,wxDefaultSize,style
65
+ );
66
66
 
67
67
  }
68
68
 
@@ -101,10 +101,6 @@ DLL_LOCAL void Init_WXFontPickerWidget(VALUE rb_mWX)
101
101
  rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
102
102
 
103
103
  rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
104
-
105
- rb_define_attr(rb_cWXFontPickerWidget,"font",1,1);
106
- rb_define_attr(rb_cWXFontPickerWidget,"selected_color",1,1);
107
-
108
104
  #endif
109
105
 
110
106
  #if wxUSE_FONTPICKERCTRL
@@ -112,6 +108,11 @@ DLL_LOCAL void Init_WXFontPickerWidget(VALUE rb_mWX)
112
108
  rb_cWXFontPickerWidget = rb_define_class_under(rb_mWX,"FontPickerWidget",rb_cWXButton);
113
109
  rb_define_alloc_func(rb_cWXFontPickerWidget,_alloc);
114
110
 
111
+ #if 0
112
+ rb_define_attr(rb_cWXFontPickerWidget,"font",1,1);
113
+ rb_define_attr(rb_cWXFontPickerWidget,"selected_color",1,1);
114
+ #endif
115
+
115
116
  rb_define_method(rb_cWXFontPickerWidget,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
116
117
 
117
118
  rb_define_attr_method(rb_cWXFontPickerWidget,"font",_getFont,_setFont);
@@ -239,17 +239,19 @@ DLL_LOCAL void Init_WXFrame(VALUE rb_mWX)
239
239
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
240
240
 
241
241
  rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
242
+ #endif
243
+
244
+ using namespace RubyWX::Frame;
245
+ rb_cWXFrame = rb_define_class_under(rb_mWX,"Frame",rb_cWXTopLevel);
246
+ rb_define_alloc_func(rb_cWXFrame,_alloc);
242
247
 
248
+ #if 0
243
249
  rb_define_attr(rb_cWXFrame,"menubar",1,1);
244
250
  rb_define_attr(rb_cWXFrame,"statusbar",1,1);
245
251
  rb_define_attr(rb_cWXFrame,"statusbar_pane",1,1);
246
252
  rb_define_attr(rb_cWXFrame,"toolbar",1,1);
247
253
  #endif
248
254
 
249
- using namespace RubyWX::Frame;
250
- rb_cWXFrame = rb_define_class_under(rb_mWX,"Frame",rb_cWXTopLevel);
251
- rb_define_alloc_func(rb_cWXFrame,_alloc);
252
-
253
255
  rb_define_method(rb_cWXFrame,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
254
256
 
255
257
  #if wxUSE_MENUS
@@ -71,8 +71,10 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
71
71
  set_hash_flag_option(hash,"vertical",wxGA_VERTICAL,style);
72
72
  set_hash_flag_option(hash,"smooth",wxGA_SMOOTH,style);
73
73
  }
74
-
75
- _self->Create(unwrap<wxWindow*>(parent),id,range,wxDefaultPosition,wxDefaultSize,style);
74
+ if(nil_check(parent))
75
+ _self->Create(unwrap<wxWindow*>(parent),id,
76
+ range,wxDefaultPosition,wxDefaultSize,style
77
+ );
76
78
 
77
79
  }
78
80
 
@@ -137,9 +139,6 @@ DLL_LOCAL void Init_WXGauge(VALUE rb_mWX)
137
139
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
138
140
 
139
141
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
140
-
141
- rb_define_attr(rb_cWXGauge,"range",1,1);
142
- rb_define_attr(rb_cWXGauge,"value",1,1);
143
142
  #endif
144
143
 
145
144
  #if wxUSE_GAUGE
@@ -147,6 +146,11 @@ DLL_LOCAL void Init_WXGauge(VALUE rb_mWX)
147
146
  rb_cWXGauge = rb_define_class_under(rb_mWX,"Gauge",rb_cWXControl);
148
147
  rb_define_alloc_func(rb_cWXGauge,_alloc);
149
148
 
149
+ #if 0
150
+ rb_define_attr(rb_cWXGauge,"range",1,1);
151
+ rb_define_attr(rb_cWXGauge,"value",1,1);
152
+ #endif
153
+
150
154
  rb_define_method(rb_cWXGauge,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
151
155
 
152
156
  rb_define_attr_method(rb_cWXGauge,"range",_getRange,_setRange);
@@ -139,7 +139,14 @@ DLL_LOCAL void Init_WXGrid(VALUE rb_mWX)
139
139
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
140
140
 
141
141
  rb_cWXPanel = rb_define_class_under(rb_mWX,"Panel",rb_cWXControl);
142
+ #endif
143
+
144
+ #if wxUSE_GRID
145
+ using namespace RubyWX::Grid;
146
+ rb_cWXGrid = rb_define_class_under(rb_mWX,"Grid",rb_cWXPanel);
147
+ rb_define_alloc_func(rb_cWXGrid,_alloc);
142
148
 
149
+ #if 0
143
150
  rb_define_attr(rb_cWXGrid,"table",1,1);
144
151
  rb_define_attr(rb_cWXGrid,"line_color",1,1);
145
152
  rb_define_attr(rb_cWXGrid,"label_background_color",1,1);
@@ -166,11 +173,6 @@ DLL_LOCAL void Init_WXGrid(VALUE rb_mWX)
166
173
 
167
174
  #endif
168
175
 
169
- #if wxUSE_GRID
170
- using namespace RubyWX::Grid;
171
- rb_cWXGrid = rb_define_class_under(rb_mWX,"Grid",rb_cWXPanel);
172
- rb_define_alloc_func(rb_cWXGrid,_alloc);
173
-
174
176
  rb_define_method(rb_cWXGrid,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
175
177
 
176
178
  rb_define_attr_method(rb_cWXGrid,"table",_getTable,_setTable);
@@ -42,18 +42,18 @@ APP_PROTECT(wxGridCellAttr)
42
42
 
43
43
  DLL_LOCAL void Init_WXGridCellAttr(VALUE rb_mWX)
44
44
  {
45
- #if 0
46
- rb_define_attr(rb_cWXGridCellAttr,"text_color",1,1);
47
- rb_define_attr(rb_cWXGridCellAttr,"background_color",1,1);
48
- rb_define_attr(rb_cWXGridCellAttr,"font",1,1);
49
-
50
- #endif
51
45
 
52
46
  #if wxUSE_GRID
53
47
  using namespace RubyWX::GridCellAttr;
54
48
  rb_cWXGridCellAttr = rb_define_class_under(rb_mWX,"GridCellAttr",rb_cObject);
55
49
  rb_define_alloc_func(rb_cWXGridCellAttr,_alloc);
56
50
 
51
+ #if 0
52
+ rb_define_attr(rb_cWXGridCellAttr,"text_color",1,1);
53
+ rb_define_attr(rb_cWXGridCellAttr,"background_color",1,1);
54
+ rb_define_attr(rb_cWXGridCellAttr,"font",1,1);
55
+ #endif
56
+
57
57
  //TODO make GridCellAttr copyable
58
58
  rb_undef_method(rb_cWXGridCellAttr,"initialize_copy");
59
59
  rb_undef_method(rb_cWXGridCellAttr,"_load");