rwx 0.0.1.dev → 0.0.1.1.dev

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 (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
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "wxControl.hpp"
12
12
 
13
- extern VALUE rb_cWXSpinButton;
13
+ extern VALUE rb_cWXSpinButton, rb_cWXSpinEvent;
14
14
 
15
15
  void Init_WXSpinButton(VALUE rb_mWX);
16
16
  #if wxUSE_SPINBTN
@@ -7,6 +7,7 @@
7
7
 
8
8
 
9
9
  #include "wxSpinCtrl.hpp"
10
+ #include "wxSpinButton.hpp"
10
11
 
11
12
 
12
13
  VALUE rb_cWXSpinCtrl;
@@ -39,10 +40,10 @@ APP_PROTECT(wxSpinCtrl)
39
40
 
40
41
  /*
41
42
  * call-seq:
42
- * SpinButton.new(parent, name, [options])
43
- * SpinButton.new(parent, [options])
43
+ * SpinCtrl.new(parent, name, [options])
44
+ * SpinCtrl.new(parent, [options])
44
45
  *
45
- * creates a new SpinButton widget.
46
+ * creates a new SpinCtrl widget.
46
47
  * ===Arguments
47
48
  * * parent of this window or nil
48
49
  * * name is a String describing a resource in a loaded xrc
@@ -73,10 +74,12 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
73
74
  set_hash_option(hash,"style",style);
74
75
  }
75
76
 
76
- _self->Create(unwrap<wxWindow*>(parent),id,
77
- wxEmptyString,wxDefaultPosition,wxDefaultSize,
78
- style,min,max,value
79
- );
77
+ if(nil_check(parent)) {
78
+ _self->Create(unwrap<wxWindow*>(parent),id,
79
+ wxEmptyString,wxDefaultPosition,wxDefaultSize,
80
+ style,min,max,value
81
+ );
82
+ }
80
83
  }
81
84
 
82
85
  rb_call_super(argc,argv);
@@ -105,10 +108,6 @@ DLL_LOCAL void Init_WXSpinCtrl(VALUE rb_mWX)
105
108
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
106
109
 
107
110
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
108
-
109
- rb_define_attr(rb_cWXSpinCtrl,"value",1,1);
110
- rb_define_attr(rb_cWXSpinCtrl,"min",1,1);
111
- rb_define_attr(rb_cWXSpinCtrl,"max",1,1);
112
111
  #endif
113
112
 
114
113
  #if wxUSE_SPINCTRL
@@ -116,6 +115,12 @@ DLL_LOCAL void Init_WXSpinCtrl(VALUE rb_mWX)
116
115
  rb_cWXSpinCtrl = rb_define_class_under(rb_mWX,"SpinCtrl",rb_cWXControl);
117
116
  rb_define_alloc_func(rb_cWXSpinCtrl,_alloc);
118
117
 
118
+ #if 0
119
+ rb_define_attr(rb_cWXSpinCtrl,"value",1,1);
120
+ rb_define_attr(rb_cWXSpinCtrl,"min",1,1);
121
+ rb_define_attr(rb_cWXSpinCtrl,"max",1,1);
122
+ #endif
123
+
119
124
  rb_define_method(rb_cWXSpinCtrl,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
120
125
 
121
126
  rb_define_attr_method(rb_cWXSpinCtrl,"value",_getValue,_setValue);
@@ -123,6 +128,8 @@ DLL_LOCAL void Init_WXSpinCtrl(VALUE rb_mWX)
123
128
  rb_define_attr_method(rb_cWXSpinCtrl,"max",_GetMax,_setMax);
124
129
 
125
130
  registerInfo<wxSpinCtrl>(rb_cWXSpinCtrl);
131
+
132
+ registerEventType("spinctrl", wxEVT_SPINCTRL,rb_cWXSpinEvent);
126
133
  #endif
127
134
 
128
135
  }
@@ -0,0 +1,161 @@
1
+ /*
2
+ * wxSpinCtrlDouble.cpp
3
+ *
4
+ * Created on: 18.10.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxSpinCtrlDouble.hpp"
10
+ #include "wxNotifyEvent.hpp"
11
+
12
+ VALUE rb_cWXSpinCtrlDouble, rb_cWXSpinDoubleEvent;
13
+
14
+ #if wxUSE_SPINCTRL
15
+ #define _self unwrap<wxSpinCtrlDouble*>(self)
16
+
17
+ namespace RubyWX {
18
+ namespace SpinCtrlDouble {
19
+
20
+ macro_attr(Value,double)
21
+ macro_attr(Increment,double)
22
+ macro_attr(Digits,int)
23
+
24
+ singlereturn(GetMax)
25
+ singlereturn(GetMin)
26
+
27
+ DLL_LOCAL VALUE _setMin(VALUE self,VALUE val)
28
+ {
29
+ rb_check_frozen(self);
30
+ _self->SetRange(NUM2DBL(val),_self->GetMax());
31
+ return val;
32
+ }
33
+
34
+ DLL_LOCAL VALUE _setMax(VALUE self,VALUE val)
35
+ {
36
+ rb_check_frozen(self);
37
+ _self->SetRange(_self->GetMin(), NUM2DBL(val));
38
+ return val;
39
+ }
40
+
41
+ APP_PROTECT(wxSpinCtrlDouble)
42
+
43
+ /*
44
+ * call-seq:
45
+ * SpinCtrlDouble.new(parent, name, [options])
46
+ * SpinCtrlDouble.new(parent, [options])
47
+ *
48
+ * creates a new SpinCtrlDouble widget.
49
+ * ===Arguments
50
+ * * parent of this window or nil
51
+ * * name is a String describing a resource in a loaded xrc
52
+ *
53
+ * *options: Hash with possible options to set:
54
+ * * min Float
55
+ * * max Float
56
+ * * value Float
57
+ *
58
+ */
59
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
60
+ {
61
+ VALUE parent,name,hash;
62
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
63
+ if(!_created && !rb_obj_is_kind_of(hash,rb_cHash))
64
+ {
65
+ wxWindowID id(wxID_ANY);
66
+ double value(0), min(0), max(100), inc(1);
67
+
68
+ long style(wxSP_ARROW_KEYS | wxALIGN_RIGHT);
69
+
70
+ if(rb_obj_is_kind_of(hash,rb_cHash))
71
+ {
72
+ set_hash_option(hash,"id",id,unwrapID);
73
+ set_hash_option(hash,"value",value);
74
+ set_hash_option(hash,"min",min);
75
+ set_hash_option(hash,"max",max);
76
+ set_hash_option(hash,"increment",inc);
77
+ set_hash_option(hash,"style",style);
78
+ }
79
+
80
+ if(nil_check(parent)) {
81
+ _self->Create(unwrap<wxWindow*>(parent),id,
82
+ wxEmptyString,wxDefaultPosition,wxDefaultSize,
83
+ style,min,max,value,inc
84
+ );
85
+ }
86
+ }
87
+
88
+ rb_call_super(argc,argv);
89
+
90
+ return self;
91
+ }
92
+
93
+
94
+ namespace Event
95
+ {
96
+ #undef _self
97
+ #define _self unwrap<wxSpinDoubleEvent*>(self)
98
+ macro_attr(Value,double)
99
+ }
100
+
101
+
102
+ }
103
+ }
104
+ #endif
105
+
106
+ /* Document-attr: value
107
+ * the value of the SpinCtrlDouble. Integer
108
+ */
109
+ /* Document-attr: min
110
+ * the minimum value of the SpinCtrlDouble. Integer
111
+ */
112
+ /* Document-attr: max
113
+ * the maximum value of the SpinCtrlDouble. Integer
114
+ */
115
+
116
+ DLL_LOCAL void Init_WXSpinCtrlDouble(VALUE rb_mWX)
117
+ {
118
+ #if 0
119
+ rb_mWX = rb_define_module("WX");
120
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
121
+
122
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
123
+ #endif
124
+
125
+ #if wxUSE_SPINCTRL
126
+ using namespace RubyWX::SpinCtrlDouble;
127
+ rb_cWXSpinCtrlDouble = rb_define_class_under(rb_mWX,"SpinCtrlDouble",rb_cWXControl);
128
+ rb_define_alloc_func(rb_cWXSpinCtrlDouble,_alloc);
129
+
130
+ rb_cWXSpinDoubleEvent = rb_define_class_under(rb_cWXEvent,"SpinDouble",rb_cWXNotifyEvent);
131
+
132
+
133
+ #if 0
134
+ rb_define_attr(rb_cWXSpinCtrlDouble,"value",1,1);
135
+ rb_define_attr(rb_cWXSpinCtrlDouble,"increment",1,1);
136
+ rb_define_attr(rb_cWXSpinCtrlDouble,"digits",1,1);
137
+ rb_define_attr(rb_cWXSpinCtrlDouble,"min",1,1);
138
+ rb_define_attr(rb_cWXSpinCtrlDouble,"max",1,1);
139
+
140
+ rb_define_attr(rb_cWXSpinDoubleEvent,"value",1,1);
141
+
142
+ #endif
143
+
144
+ rb_define_method(rb_cWXSpinCtrlDouble,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
145
+
146
+ rb_define_attr_method(rb_cWXSpinCtrlDouble,"value",_getValue,_setValue);
147
+ rb_define_attr_method(rb_cWXSpinCtrlDouble,"increment",_getIncrement,_setIncrement);
148
+ rb_define_attr_method(rb_cWXSpinCtrlDouble,"digits",_getDigits,_setDigits);
149
+ rb_define_attr_method(rb_cWXSpinCtrlDouble,"min",_GetMin,_setMin);
150
+ rb_define_attr_method(rb_cWXSpinCtrlDouble,"max",_GetMax,_setMax);
151
+
152
+ rb_define_attr_method(rb_cWXSpinDoubleEvent,"value",Event::_getValue,Event::_setValue);
153
+
154
+ registerInfo<wxSpinCtrlDouble>(rb_cWXSpinCtrlDouble);
155
+ #endif
156
+
157
+ }
158
+
159
+
160
+
161
+
@@ -0,0 +1,21 @@
1
+ /*
2
+ * wxSpinCtrlDouble.hpp
3
+ *
4
+ * Created on: 18.10.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXSPINCTRLDOUBLE_HPP_
9
+ #define WXSPINCTRLDOUBLE_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXSpinCtrlDouble;
14
+
15
+ DLL_LOCAL void Init_WXSpinCtrlDouble(VALUE rb_mWX);
16
+ #if wxUSE_SPINCTRL
17
+ #include <wx/spinctrl.h>
18
+
19
+ #endif
20
+
21
+ #endif /* WXSPINCTRLDOUBLE_HPP_ */
@@ -47,7 +47,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
47
47
  set_hash_option(hash,"bitmap",bitmap);
48
48
  }
49
49
 
50
- _self->Create(unwrap<wxWindow*>(parent),id,bitmap);
50
+ if(nil_check(parent)) {
51
+ _self->Create(unwrap<wxWindow*>(parent),id,bitmap);
52
+ }
51
53
  }
52
54
 
53
55
  rb_call_super(argc,argv);
@@ -29,13 +29,15 @@ DLL_LOCAL void Init_WXStaticBitmapBase(VALUE rb_mWX)
29
29
  rb_mWX = rb_define_module("WX");
30
30
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
31
31
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
32
-
33
- rb_define_attr(rb_cWXStaticBitmapBase,"bitmap",1,1);
34
32
  #endif
35
33
  #if wxUSE_STATBMP
36
34
  using namespace RubyWX::StaticBitmapBase;
37
35
  rb_cWXStaticBitmapBase = rb_define_class_under(rb_mWX,"StaticBitmapBase",rb_cWXControl);
38
36
 
37
+ #if 0
38
+ rb_define_attr(rb_cWXStaticBitmapBase,"bitmap",1,1);
39
+ #endif
40
+
39
41
  rb_define_attr_method(rb_cWXStaticBitmapBase,"bitmap",_getBitmap,_setBitmap);
40
42
 
41
43
  #endif
@@ -47,7 +47,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
47
47
  set_hash_option(hash,"bitmap",bitmap);
48
48
  }
49
49
 
50
- _self->Create(unwrap<wxWindow*>(parent),id,bitmap);
50
+ if(nil_check(parent)) {
51
+ _self->Create(unwrap<wxWindow*>(parent),id,bitmap);
52
+ }
51
53
  }
52
54
 
53
55
  rb_call_super(argc,argv);
@@ -44,7 +44,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
44
44
  set_hash_option(hash,"label",label);
45
45
  }
46
46
 
47
- _self->Create(unwrap<wxWindow*>(parent),id,label);
47
+ if(nil_check(parent)) {
48
+ _self->Create(unwrap<wxWindow*>(parent),id,label);
49
+ }
48
50
 
49
51
  }
50
52
 
@@ -54,11 +56,10 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
54
56
 
55
57
  DLL_LOCAL VALUE _GetContainingSizer(VALUE self)
56
58
  {
57
- wxSizer * result = _self->GetContainingSizer();
58
- if(result)
59
- return wrap(result);
60
- else
61
- return wrap(dynamic_cast<wxBoxSizer*>(new wxStaticBoxSizer(_self,wxHORIZONTAL)));
59
+ wxSizer *result = _self->GetContainingSizer();
60
+ if(!result)
61
+ result = new wxStaticBoxSizer(_self,wxHORIZONTAL);
62
+ return wrap(result);
62
63
  }
63
64
 
64
65
  }
@@ -49,7 +49,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
49
49
  set_hash_flag_option(hash,"vertical",wxLI_VERTICAL,style);
50
50
  }
51
51
 
52
- _self->Create(unwrap<wxWindow*>(parent),id,wxDefaultPosition,wxDefaultSize,style);
52
+ if(nil_check(parent)) {
53
+ _self->Create(unwrap<wxWindow*>(parent),id,
54
+ wxDefaultPosition,wxDefaultSize,style
55
+ );
56
+ }
53
57
  }
54
58
 
55
59
  rb_call_super(argc,argv);
@@ -48,7 +48,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
48
48
  set_hash_option(hash,"style",style);
49
49
  }
50
50
 
51
- _self->Create(unwrap<wxWindow*>(parent),id,label,wxDefaultPosition,wxDefaultSize,style);
51
+ if(nil_check(parent)) {
52
+ _self->Create(unwrap<wxWindow*>(parent),id,label,
53
+ wxDefaultPosition,wxDefaultSize,style
54
+ );
55
+ }
52
56
  }
53
57
 
54
58
  rb_call_super(argc,argv);
@@ -53,7 +53,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
53
53
  set_hash_flag_option(hash,"show_tips",wxSTB_SHOW_TIPS,style);
54
54
  }
55
55
 
56
- _self->Create(unwrap<wxWindow*>(parent),id,style);
56
+ if(nil_check(parent)) {
57
+ _self->Create(unwrap<wxWindow*>(parent),id,style);
58
+ }
57
59
  }
58
60
  rb_call_super(argc,argv);
59
61
  return self;
@@ -357,23 +359,26 @@ DLL_LOCAL void Init_WXStatusBar(VALUE rb_mWX)
357
359
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
358
360
 
359
361
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
362
+ #endif
363
+ #if wxUSE_STATUSBAR
364
+ using namespace RubyWX::StatusBar;
365
+ rb_cWXStatusBar = rb_define_class_under(rb_mWX,"StatusBar",rb_cWXControl);
366
+ rb_define_alloc_func(rb_cWXStatusBar,_alloc);
360
367
 
368
+ rb_cWXStatusBarPane = rb_define_class_under(rb_cWXStatusBar,"Pane",rb_cObject);
369
+ rb_undef_alloc_func(rb_cWXStatusBarPane);
370
+
371
+ #if 0
361
372
  rb_define_attr(rb_cWXStatusBar,"status_text",1,1);
362
373
  rb_define_attr(rb_cWXStatusBar,"fields_count",1,1);
363
374
 
364
375
  rb_define_attr(rb_cWXStatusBarPane,"width",1,1);
365
376
  rb_define_attr(rb_cWXStatusBarPane,"style",1,1);
366
377
  rb_define_attr(rb_cWXStatusBarPane,"text",1,1);
367
-
368
378
  #endif
369
- #if wxUSE_STATUSBAR
370
- using namespace RubyWX::StatusBar;
371
- rb_cWXStatusBar = rb_define_class_under(rb_mWX,"StatusBar",rb_cWXControl);
372
- rb_define_alloc_func(rb_cWXStatusBar,_alloc);
373
379
 
374
380
  rb_define_method(rb_cWXStatusBar,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
375
381
 
376
-
377
382
  rb_define_attr_method(rb_cWXStatusBar,"status_text",_getStatusText,_setStatusText);
378
383
  rb_define_attr_method(rb_cWXStatusBar,"fields_count",_getFieldsCount,_setFieldsCount);
379
384
 
@@ -391,9 +396,6 @@ DLL_LOCAL void Init_WXStatusBar(VALUE rb_mWX)
391
396
 
392
397
  rb_define_method(rb_cWXStatusBar,"each_statuspane",RUBY_METHOD_FUNC(_each),0);
393
398
 
394
- rb_cWXStatusBarPane = rb_define_class_under(rb_cWXStatusBar,"Pane",rb_cObject);
395
- rb_undef_alloc_func(rb_cWXStatusBarPane);
396
-
397
399
  using namespace Pane;
398
400
  rb_define_attr_method(rb_cWXStatusBarPane,"width",_getWidth,_setWidth);
399
401
  rb_define_attr_method(rb_cWXStatusBarPane,"style",_getStyle,_setStyle);
@@ -65,10 +65,6 @@ DLL_LOCAL void Init_WXTaskBar(VALUE rb_mWX)
65
65
  {
66
66
  #if wxUSE_TASKBARICON
67
67
  #if 0
68
- rb_define_attr(rb_cWXTaskBar,"menu",1,1);
69
- rb_define_attr(rb_cWXTaskBar,"icon",1,1);
70
- rb_define_attr(rb_cWXTaskBar,"tooltip",1,1);
71
-
72
68
  rb_mWXEvtHandler = rb_define_module_under(rb_mWX,"EvtHandler");
73
69
  #endif
74
70
  using namespace RubyWX::TaskBar;
@@ -76,6 +72,12 @@ DLL_LOCAL void Init_WXTaskBar(VALUE rb_mWX)
76
72
  rb_cWXTaskBar = rb_define_class_under(rb_mWX,"TaskBar",rb_cObject);
77
73
  rb_define_alloc_func(rb_cWXTaskBar,_alloc);
78
74
 
75
+ #if 0
76
+ rb_define_attr(rb_cWXTaskBar,"menu",1,1);
77
+ rb_define_attr(rb_cWXTaskBar,"icon",1,1);
78
+ rb_define_attr(rb_cWXTaskBar,"tooltip",1,1);
79
+ #endif
80
+
79
81
  rb_undef_method(rb_cWXTaskBar,"initialize_copy");
80
82
  rb_undef_method(rb_cWXTaskBar,"_load");
81
83
  rb_undef_method(rb_cWXTaskBar,"_dump");
@@ -75,7 +75,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
75
75
  set_style_flags(hash,style);
76
76
  }
77
77
 
78
- _self->Create(unwrap<wxWindow*>(parent),id,value,wxDefaultPosition,wxDefaultSize,style);
78
+ if(nil_check(parent)) {
79
+ _self->Create(unwrap<wxWindow*>(parent),id,value,
80
+ wxDefaultPosition,wxDefaultSize,style
81
+ );
82
+ }
79
83
  }
80
84
 
81
85
  rb_call_super(argc,argv);
@@ -141,8 +145,6 @@ DLL_LOCAL void Init_WXTextCtrl(VALUE rb_mWX)
141
145
 
142
146
  rb_mWXTextArea = rb_define_module_under(rb_mWX,"TextArea");
143
147
  rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
144
-
145
- rb_define_attr(rb_cWXTextCtrl,"value",1,1);
146
148
  #endif
147
149
 
148
150
  #if wxUSE_TEXTCTRL
@@ -150,6 +152,10 @@ DLL_LOCAL void Init_WXTextCtrl(VALUE rb_mWX)
150
152
  rb_cWXTextCtrl = rb_define_class_under(rb_mWX,"TextCtrl",rb_cWXControl);
151
153
  rb_define_alloc_func(rb_cWXTextCtrl,_alloc);
152
154
 
155
+ #if 0
156
+ rb_define_attr(rb_cWXTextCtrl,"value",1,1);
157
+ #endif
158
+
153
159
  rb_include_module(rb_cWXTextCtrl,rb_mWXTextArea);
154
160
  rb_include_module(rb_cWXTextCtrl,rb_mWXTextEntry);
155
161