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
@@ -11,6 +11,7 @@
11
11
  #include "wxSearchCtrl.hpp"
12
12
  #include "wxBitmapComboBox.hpp"
13
13
  #include "wxComboBox.hpp"
14
+ #include "wxComboCtrl.hpp"
14
15
  #include "wxSTC.hpp"
15
16
  #include "wxPoint.hpp"
16
17
 
@@ -39,6 +40,10 @@ wxTextEntryBase* unwrap< wxTextEntryBase* >(const VALUE &obj)
39
40
  if(rb_obj_is_kind_of(obj,rb_cWXComboBox))
40
41
  return unwrap<wxComboBox*>(obj);
41
42
  #endif
43
+ #if wxUSE_COMBOCTRL
44
+ if(rb_obj_is_kind_of(obj,rb_cWXComboCtrl))
45
+ return unwrap<wxComboCtrl*>(obj);
46
+ #endif
42
47
  #if wxUSE_STC
43
48
  if(rb_obj_is_kind_of(obj,rb_cWXSTC))
44
49
  return unwrap<wxStyledTextCtrl*>(obj);
@@ -214,15 +219,15 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
214
219
  */
215
220
  DLL_LOCAL void Init_WXTextEntry(VALUE rb_mWX)
216
221
  {
222
+ using namespace RubyWX::TextEntry;
223
+ rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
224
+
217
225
  #if 0
218
226
  rb_define_attr(rb_mWXTextEntry,"hint",1,1);
219
227
  rb_define_attr(rb_mWXTextEntry,"editable",1,1);
220
228
  rb_define_attr(rb_mWXTextEntry,"margins",1,1);
221
229
  #endif
222
230
 
223
- using namespace RubyWX::TextEntry;
224
- rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
225
-
226
231
  rb_define_method(rb_mWXTextEntry,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
227
232
 
228
233
  rb_define_method(rb_mWXTextEntry,"cut",RUBY_METHOD_FUNC(_Cut),0);
@@ -49,12 +49,13 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
49
49
  set_hash_option(hash,"style",style);
50
50
  }
51
51
 
52
- _self->Create(
53
- unwrap<wxWindow*>(parent),id,date,
54
- wxDefaultPosition,wxDefaultSize,
55
- style
56
- );
57
-
52
+ if(nil_check(parent)) {
53
+ _self->Create(
54
+ unwrap<wxWindow*>(parent),id,date,
55
+ wxDefaultPosition,wxDefaultSize,
56
+ style
57
+ );
58
+ }
58
59
  }
59
60
 
60
61
  rb_call_super(argc,argv);
@@ -84,8 +85,6 @@ DLL_LOCAL void Init_WXTimePicker(VALUE rb_mWX)
84
85
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
85
86
 
86
87
  rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
87
-
88
- rb_define_attr(rb_cWXTimePicker,"value",1,1);
89
88
  #endif
90
89
 
91
90
  #if wxUSE_TIMEPICKCTRL
@@ -93,6 +92,10 @@ DLL_LOCAL void Init_WXTimePicker(VALUE rb_mWX)
93
92
  rb_cWXTimePicker = rb_define_class_under(rb_mWX,"TimePicker",rb_cWXControl);
94
93
  rb_define_alloc_func(rb_cWXTimePicker,_alloc);
95
94
 
95
+ #if 0
96
+ rb_define_attr(rb_cWXTimePicker,"value",1,1);
97
+ #endif
98
+
96
99
  rb_define_method(rb_cWXTimePicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
97
100
 
98
101
  rb_define_attr_method(rb_cWXTimePicker,"value",_getValue,_setValue);
@@ -66,8 +66,6 @@ singlereturn(GetInterval)
66
66
  DLL_LOCAL void Init_WXTimer(VALUE rb_mWX)
67
67
  {
68
68
  #if 0
69
- rb_define_attr(rb_cWXTimer,"owner",1,1);
70
-
71
69
  rb_mWXEvtHandler = rb_define_module_under(rb_mWX,"EvtHandler");
72
70
  #endif
73
71
 
@@ -77,6 +75,10 @@ DLL_LOCAL void Init_WXTimer(VALUE rb_mWX)
77
75
  rb_cWXTimer = rb_define_class_under(rb_mWX,"Timer",rb_cObject);
78
76
  rb_define_alloc_func(rb_cWXTimer,_alloc);
79
77
 
78
+ #if 0
79
+ rb_define_attr(rb_cWXTimer,"owner",1,1);
80
+ #endif
81
+
80
82
  rb_undef_method(rb_cWXTimer,"initialize_copy");
81
83
  rb_undef_method(rb_cWXTimer,"_load");
82
84
  rb_undef_method(rb_cWXTimer,"_dump");
@@ -45,7 +45,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
45
45
  set_hash_option(hash,"label",label);
46
46
  }
47
47
 
48
- _self->Create(unwrap<wxWindow*>(parent),id,label);
48
+ if(nil_check(parent)) {
49
+ _self->Create(unwrap<wxWindow*>(parent),id,label);
50
+ }
49
51
 
50
52
  }
51
53
 
@@ -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,wxDefaultPosition,wxDefaultSize,style);
51
+ if(nil_check(parent)) {
52
+ _self->Create(unwrap<wxWindow*>(parent),id,
53
+ wxDefaultPosition,wxDefaultSize,style
54
+ );
55
+ }
52
56
  }
53
57
 
54
58
  rb_call_super(argc,argv);
@@ -127,7 +127,16 @@ DLL_LOCAL void Init_WXToolBarTool(VALUE rb_mWX)
127
127
  {
128
128
  #if 0
129
129
  rb_cWXToolBarBase = rb_define_class_under(rb_mWX,"ToolBarBase",rb_cWXControl);
130
+ #endif
131
+
132
+ #if wxUSE_TOOLBAR
133
+ using namespace RubyWX::ToolBarTool;
134
+ rb_cWXToolBarTool = rb_define_class_under(rb_cWXToolBarBase,"Tool",rb_cObject);
130
135
 
136
+ //should that really have alloc?
137
+ rb_define_alloc_func(rb_cWXToolBarTool,_alloc);
138
+
139
+ #if 0
131
140
  rb_define_attr(rb_cWXToolBarTool,"normal_bitmap",1,1);
132
141
  rb_define_attr(rb_cWXToolBarTool,"disabled_bitmap",1,1);
133
142
 
@@ -139,16 +148,8 @@ DLL_LOCAL void Init_WXToolBarTool(VALUE rb_mWX)
139
148
  rb_define_attr(rb_cWXToolBarTool,"toggled",1,1);
140
149
 
141
150
  rb_define_attr(rb_cWXToolBarTool,"dropdown_menu",1,1);
142
-
143
151
  #endif
144
152
 
145
- #if wxUSE_TOOLBAR
146
- using namespace RubyWX::ToolBarTool;
147
- rb_cWXToolBarTool = rb_define_class_under(rb_cWXToolBarBase,"Tool",rb_cObject);
148
-
149
- //should that really have alloc?
150
- rb_define_alloc_func(rb_cWXToolBarTool,_alloc);
151
-
152
153
  rb_undef_method(rb_cWXToolBarTool,"initialize_copy");
153
154
  rb_undef_method(rb_cWXToolBarTool,"_load");
154
155
  rb_undef_method(rb_cWXToolBarTool,"_dump");
@@ -49,8 +49,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
49
49
  set_hash_option(hash,"id",id,unwrapID);
50
50
  set_hash_option(hash,"style",style);
51
51
  }
52
-
53
- _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
+ }
54
57
 
55
58
  }
56
59
 
@@ -47,7 +47,11 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
47
47
  set_hash_option(hash,"style",style);
48
48
  }
49
49
 
50
- _self->Create(unwrap<wxWindow*>(parent),id,wxDefaultPosition,wxDefaultSize,style);
50
+ if(nil_check(parent)) {
51
+ _self->Create(unwrap<wxWindow*>(parent),id,
52
+ wxDefaultPosition,wxDefaultSize,style
53
+ );
54
+ }
51
55
 
52
56
  }
53
57
 
@@ -50,12 +50,13 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
50
50
  set_hash_option(hash,"style",style);
51
51
  }
52
52
 
53
- _self->Create(
54
- unwrap<wxWindow*>(parent),id,
55
- wxDefaultPosition,wxDefaultSize,
56
- style
57
- );
58
-
53
+ if(nil_check(parent)) {
54
+ _self->Create(
55
+ unwrap<wxWindow*>(parent),id,
56
+ wxDefaultPosition,wxDefaultSize,
57
+ style
58
+ );
59
+ }
59
60
  }
60
61
 
61
62
  rb_call_super(argc,argv);
@@ -331,7 +332,7 @@ VALUE RubyTreeCtrlItem::GetPrevSibling()
331
332
  void RubyTreeCtrlItem::checkDestroyed()
332
333
  {
333
334
  if(!GetId().IsOk())
334
- rb_raise(rb_eTypeError,"%s has been destroyed",rb_class2name(rb_cWXTreeCtrlItem));
335
+ rb_raise(rb_eTypeError,"%"PRIsVALUE" has been destroyed",rb_cWXTreeCtrlItem);
335
336
  }
336
337
 
337
338
 
@@ -263,7 +263,9 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
263
263
  #if wxUSE_XRC
264
264
  if(!loadxrc(_self,name,unwrap<wxWindow*>(parent)))
265
265
  #endif
266
- _self->Create(unwrap<wxWindow*>(parent),id);
266
+ if(nil_check(parent)) {
267
+ _self->Create(unwrap<wxWindow*>(parent),id);
268
+ }
267
269
 
268
270
  }
269
271
 
@@ -270,20 +270,22 @@ DLL_LOCAL void Init_WXWizard(VALUE rb_mWX)
270
270
  rb_cWXEvent = rb_define_class_under(rb_mWX,"Event",rb_cObject);
271
271
  rb_cWXCommandEvent = rb_define_class_under(rb_cWXEvent,"Command",rb_cWXEvent);
272
272
  rb_cWXNotifyEvent = rb_define_class_under(rb_cWXEvent,"Notify",rb_cWXCommandEvent);
273
+ #endif
274
+
275
+ #if wxUSE_WIZARDDLG
276
+ using namespace RubyWX::Wizard;
277
+ rb_cWXWizard = rb_define_class_under(rb_mWX,"Wizard",rb_cWXDialog);
278
+ rb_define_alloc_func(rb_cWXWizard,_alloc);
279
+ rb_cWXWizardEvent = rb_define_class_under(rb_cWXEvent,"Wizard",rb_cWXNotifyEvent);
273
280
 
281
+ #if 0
274
282
  rb_define_attr(rb_cWXWizard, "bitmap",1,1);
275
283
  rb_define_attr(rb_cWXWizard, "page_size",1,1);
276
284
 
277
285
  rb_define_attr(rb_cWXWizardEvent, "direction",1,0);
278
286
  rb_define_attr(rb_cWXWizardEvent, "page",1,0);
279
-
280
287
  #endif
281
288
 
282
- #if wxUSE_WIZARDDLG
283
- using namespace RubyWX::Wizard;
284
- rb_cWXWizard = rb_define_class_under(rb_mWX,"Wizard",rb_cWXDialog);
285
- rb_define_alloc_func(rb_cWXWizard,_alloc);
286
-
287
289
  rb_define_attr_method(rb_cWXWizard, "bitmap",_getBitmap,_setBitmap);
288
290
  rb_define_attr_method(rb_cWXWizard, "page_size",_getPageSize,_setPageSize);
289
291
 
@@ -304,10 +306,8 @@ DLL_LOCAL void Init_WXWizard(VALUE rb_mWX)
304
306
 
305
307
  registerInfo<wxWizard>(rb_cWXWizard);
306
308
 
307
- rb_cWXWizardEvent = rb_define_class_under(rb_cWXEvent,"Wizard",rb_cWXNotifyEvent);
308
-
309
- rb_define_method(rb_cWXWizardEvent,"direction",RUBY_METHOD_FUNC(Event::_GetDirection),0);
310
- rb_define_method(rb_cWXWizardEvent,"page",RUBY_METHOD_FUNC(Event::_GetPage),0);
309
+ rb_define_attr_method(rb_cWXWizardEvent,"direction",Event::_GetDirection,NULL);
310
+ rb_define_attr_method(rb_cWXWizardEvent,"page",Event::_GetPage,NULL);
311
311
 
312
312
  registerEventType("wizard_page_changed",wxEVT_WIZARD_PAGE_CHANGED,rb_cWXWizardEvent);
313
313
  registerEventType("wizard_page_changing",wxEVT_WIZARD_PAGE_CHANGING,rb_cWXWizardEvent);
@@ -79,9 +79,10 @@ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
79
79
  VALUE parent,name,hash;
80
80
  rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
81
81
 
82
- if(!_created && !rb_obj_is_kind_of(name,rb_cString))
83
- {
84
- _self->Create(unwrap<wxWizard*>(parent));
82
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
83
+ if(nil_check(parent)) {
84
+ _self->Create(unwrap<wxWizard*>(parent));
85
+ }
85
86
  }
86
87
 
87
88
  rb_call_super(argc,argv);
@@ -110,12 +111,6 @@ DLL_LOCAL void Init_WXWizardPage(VALUE rb_mWX)
110
111
  rb_mWX = rb_define_module("WX");
111
112
  rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
112
113
  rb_cWXPanel = rb_define_class_under(rb_mWX,"Panel",rb_cWXWindow);
113
-
114
- rb_define_attr(rb_cWXWizardPage,"prev",1,1);
115
- rb_define_attr(rb_cWXWizardPage,"next",1,1);
116
-
117
- rb_define_attr(rb_cWXWizardPage,"bitmap",1,1);
118
-
119
114
  #endif
120
115
 
121
116
  #if wxUSE_WIZARDDLG
@@ -123,6 +118,13 @@ DLL_LOCAL void Init_WXWizardPage(VALUE rb_mWX)
123
118
  rb_cWXWizardPage = rb_define_class_under(rb_mWX,"WizardPage",rb_cWXPanel);
124
119
  rb_define_alloc_func(rb_cWXWizardPage,_alloc);
125
120
 
121
+ #if 0
122
+ rb_define_attr(rb_cWXWizardPage,"prev",1,1);
123
+ rb_define_attr(rb_cWXWizardPage,"next",1,1);
124
+
125
+ rb_define_attr(rb_cWXWizardPage,"bitmap",1,1);
126
+ #endif
127
+
126
128
  rb_define_method(rb_cWXWizardPage,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
127
129
 
128
130
  rb_define_attr_method(rb_cWXWizardPage,"prev",_getPrev,_setPrev);
@@ -22,13 +22,15 @@ newest Binding for wxWidgets 3.0+, it was made after wxRuby died.
22
22
  spec.add_development_dependency "rdoc", '~> 4.0'
23
23
  spec.add_development_dependency "rake", '~> 10.0'
24
24
  spec.add_development_dependency "test-unit", '~> 3.0'
25
-
25
+ spec.add_development_dependency "rspec", '~> 3.0'
26
+
26
27
  # Gem contents
27
28
  begin
28
29
  spec.files = `git ls-files`.split("\n")
29
30
  ensure
30
31
  spec.files = Dir["*.rdoc", "COPYING", "Rakefile", "VERSION",
31
- "rwx.gemspec", "ext/extconf.rb", "ext/*.*pp", "samples/**/**", "tests/**"
32
+ "rwx.gemspec", "ext/extconf.rb", "ext/*.*pp", "samples/**/**", "tests/**",
33
+ ".rspec", "spec/*"
32
34
  ] if spec.files.empty?
33
35
  end
34
36
 
@@ -1,11 +1,6 @@
1
1
  #Encoding: UTF-8
2
-
3
-
4
- STDERR.reopen(STDOUT)
5
-
6
2
  require "../../ext/rwx"
7
3
 
8
-
9
4
  class A < WX::App
10
5
 
11
6
  def on_init
@@ -222,6 +222,3 @@ LICENCE
222
222
  end
223
223
 
224
224
  A.new.main_loop
225
-
226
-
227
- GC.start
@@ -0,0 +1,55 @@
1
+
2
+ RSpec.describe WX::Color do
3
+ it "overflow on bounderies" do
4
+ c = WX::Color.new(40, 0, 0)
5
+
6
+ expect(c.alpha).to eq(255)
7
+
8
+ expect { c.red = 300 }.to change { c.red }.
9
+ from( 40 ).
10
+ to( 44 )
11
+ expect { c.blue += 256 }.not_to change { c.blue }
12
+
13
+ expect { c.green = -26 }.to change { c.green }.
14
+ from( 0 ).
15
+ to( 230 )
16
+
17
+ expect { c.alpha = true }.to change { c.alpha }.
18
+ from( 255 ).
19
+ to( 0 )
20
+ end
21
+
22
+ it "not equal to color name before app-init" do
23
+ c = WX::Color.new(255, 0, 0)
24
+ expect(c.name).not_to eq("red")
25
+ expect(c.name).to be_nil
26
+ # expect(c).not_to eq("red")
27
+ end
28
+
29
+ it "undefined color constants before app-init" do
30
+ expect { WX::Color::RED }.to raise_error(NameError)
31
+ expect { WX::Color::BLUE }.to raise_error(NameError)
32
+ end
33
+
34
+ it "start app" do
35
+ WX::App() { break }
36
+ end
37
+
38
+ it "equal to color name after app-init" do
39
+ c1 = WX::Color.new(255, 0, 0)
40
+ expect(c1.name).to eq("red")
41
+ expect(c1).to eq("red")
42
+
43
+ c2 = WX::Color.new(254, 0, 0)
44
+ expect(c2.name).not_to eq("red")
45
+ expect(c2.name).to be_nil
46
+ expect(c2).not_to eq("red")
47
+ end
48
+
49
+ it "defined color constants after app-init" do
50
+ expect { WX::Color::RED }.to_not raise_error
51
+ expect { WX::Color::BLUE }.to_not raise_error
52
+ expect { WX::Color::NOTHING }.to raise_error(NameError)
53
+ end
54
+
55
+ end
@@ -0,0 +1,12 @@
1
+ require_relative "../ext/rwx"
2
+
3
+
4
+ RSpec.configure do |config|
5
+ config.expect_with :rspec do |expectations|
6
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
7
+ end
8
+
9
+ config.mock_with :rspec do |mocks|
10
+ mocks.verify_partial_doubles = true
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rwx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.dev
4
+ version: 0.0.1.1.dev
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hanmac
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-12 00:00:00.000000000 Z
11
+ date: 2014-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
55
69
  description: |
56
70
  newest Binding for wxWidgets 3.0+, it was made after wxRuby died.
57
71
  email: hanmac@gmx.de
@@ -63,6 +77,7 @@ extra_rdoc_files:
63
77
  - COPYING
64
78
  files:
65
79
  - ".gitignore"
80
+ - ".rspec"
66
81
  - COPYING
67
82
  - README.rdoc
68
83
  - Rakefile
@@ -132,6 +147,8 @@ files:
132
147
  - ext/wxColorPickerWidget.hpp
133
148
  - ext/wxComboBox.cpp
134
149
  - ext/wxComboBox.hpp
150
+ - ext/wxComboCtrl.cpp
151
+ - ext/wxComboCtrl.hpp
135
152
  - ext/wxCommandEvent.cpp
136
153
  - ext/wxCommandEvent.hpp
137
154
  - ext/wxConfig.cpp
@@ -152,6 +169,8 @@ files:
152
169
  - ext/wxDatePicker.hpp
153
170
  - ext/wxDialog.cpp
154
171
  - ext/wxDialog.hpp
172
+ - ext/wxDirCtrl.cpp
173
+ - ext/wxDirCtrl.hpp
155
174
  - ext/wxDirDialog.cpp
156
175
  - ext/wxDirDialog.hpp
157
176
  - ext/wxDirPicker.cpp
@@ -240,6 +259,8 @@ files:
240
259
  - ext/wxNotifyEvent.hpp
241
260
  - ext/wxNumberEntryDialog.cpp
242
261
  - ext/wxNumberEntryDialog.hpp
262
+ - ext/wxOwnerDrawnComboBox.cpp
263
+ - ext/wxOwnerDrawnComboBox.hpp
243
264
  - ext/wxPalette.cpp
244
265
  - ext/wxPalette.hpp
245
266
  - ext/wxPanel.cpp
@@ -312,6 +333,8 @@ files:
312
333
  - ext/wxSpinButton.hpp
313
334
  - ext/wxSpinCtrl.cpp
314
335
  - ext/wxSpinCtrl.hpp
336
+ - ext/wxSpinCtrlDouble.cpp
337
+ - ext/wxSpinCtrlDouble.hpp
315
338
  - ext/wxStartUpTip.cpp
316
339
  - ext/wxStartUpTip.hpp
317
340
  - ext/wxStaticBitmap.cpp
@@ -435,6 +458,8 @@ files:
435
458
  - samples/widgets/widgets.rb
436
459
  - samples/xrc/samples.xrc
437
460
  - samples/xrc/xrc_sample.rb
461
+ - spec/color_spec.rb
462
+ - spec/spec_helper.rb
438
463
  - test/test_color.rb
439
464
  homepage: https://github.com/Hanmac/rwx
440
465
  licenses:
@@ -463,7 +488,7 @@ requirements:
463
488
  - git
464
489
  - C++ compiler
465
490
  rubyforge_project:
466
- rubygems_version: 2.4.1
491
+ rubygems_version: 2.4.2
467
492
  signing_key:
468
493
  specification_version: 4
469
494
  summary: Ruby newest wxWidgets Binding