fxruby 1.6.20 → 1.6.22.pre2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/README.txt +2 -1
- data/Rakefile +43 -35
- data/TODO +4 -4
- data/doap.rdf +2 -2
- data/ext/fox16/FXRbDataTarget.cpp +2 -2
- data/ext/fox16/FXRuby.cpp +31 -96
- data/ext/fox16/core_wrap.cpp +5 -1
- data/ext/fox16/dialogs_wrap.cpp +4 -4
- data/ext/fox16/extconf.rb +15 -7
- data/ext/fox16/frames_wrap.cpp +1 -1
- data/ext/fox16/fx3d_wrap.cpp +1 -1
- data/ext/fox16/iconlist_wrap.cpp +2 -2
- data/ext/fox16/include/FXRbApp.h +2 -2
- data/ext/fox16/include/FXRbCommon.h +2 -0
- data/ext/fox16/list_wrap.cpp +3 -3
- data/ext/fox16/markfuncs.cpp +1 -0
- data/ext/fox16/treelist_wrap.cpp +2 -2
- data/ext/fox16/ui_wrap.cpp +3 -3
- data/lib/fox16/accel_table.rb +16 -3
- data/lib/fox16/bitmapview.rb +7 -8
- data/lib/fox16/core.rb +5 -5
- data/lib/fox16/kwargs.rb +877 -879
- data/lib/fox16/scintilla.rb +1321 -45
- data/lib/fox16/version.rb +1 -1
- data/scripts/generate_kwargs_lib.rb +2 -4
- data/swig-interfaces/FXMemoryStream.i +9 -5
- data/swig-interfaces/ruby-typemaps.i +4 -4
- data/test/TC_FXAccelTable.rb +2 -2
- data/test/TC_FXApp.rb +48 -2
- data/test/TC_FXArc.rb +2 -2
- data/test/TC_FXBMPIcon.rb +2 -2
- data/test/TC_FXBMPImage.rb +2 -2
- data/test/TC_FXButton.rb +2 -2
- data/test/TC_FXCheckButton.rb +2 -2
- data/test/TC_FXComboBox.rb +2 -2
- data/test/TC_FXDC.rb +2 -2
- data/test/TC_FXDCPrint.rb +6 -5
- data/test/TC_FXDCWindow.rb +5 -3
- data/test/TC_FXDataTarget.rb +2 -2
- data/test/TC_FXDialogBox.rb +2 -2
- data/test/TC_FXDirList.rb +2 -2
- data/test/TC_FXExtentd.rb +2 -2
- data/test/TC_FXExtentf.rb +2 -2
- data/test/TC_FXFileAssoc.rb +2 -2
- data/test/TC_FXFileStream.rb +2 -2
- data/test/TC_FXFoldingList.rb +2 -2
- data/test/TC_FXFont.rb +2 -2
- data/test/TC_FXFontDesc.rb +2 -2
- data/test/TC_FXGLGroup.rb +2 -2
- data/test/TC_FXGLShape.rb +2 -2
- data/test/TC_FXGLViewer.rb +2 -2
- data/test/TC_FXGradientBar.rb +2 -2
- data/test/TC_FXHeader.rb +2 -2
- data/test/TC_FXHiliteStyle.rb +2 -2
- data/test/TC_FXIconDict.rb +2 -2
- data/test/TC_FXIconList.rb +2 -2
- data/test/TC_FXId.rb +2 -2
- data/test/TC_FXImage.rb +2 -2
- data/test/TC_FXLight.rb +2 -2
- data/test/TC_FXList.rb +2 -2
- data/test/TC_FXListBox.rb +2 -2
- data/test/TC_FXMainWindow.rb +2 -2
- data/test/TC_FXMat4f.rb +2 -2
- data/test/TC_FXMaterial.rb +2 -16
- data/test/TC_FXMemoryStream.rb +6 -6
- data/test/TC_FXMenuCheck.rb +2 -2
- data/test/TC_FXMenuCommand.rb +2 -2
- data/test/TC_FXMenuRadio.rb +7 -7
- data/test/TC_FXMessageBox.rb +2 -2
- data/test/TC_FXPoint.rb +2 -2
- data/test/TC_FXQuatf.rb +2 -2
- data/test/TC_FXRadioButton.rb +2 -2
- data/test/TC_FXRanged.rb +2 -2
- data/test/TC_FXRangef.rb +2 -2
- data/test/TC_FXRectangle.rb +2 -2
- data/test/TC_FXRegion.rb +2 -2
- data/test/TC_FXRegistry.rb +2 -2
- data/test/TC_FXScrollArea.rb +2 -2
- data/test/TC_FXScrollWindow.rb +2 -2
- data/test/TC_FXSegment.rb +2 -2
- data/test/TC_FXSettings.rb +2 -2
- data/test/TC_FXShell.rb +2 -2
- data/test/TC_FXSize.rb +2 -2
- data/test/TC_FXStream.rb +2 -2
- data/test/TC_FXTable.rb +47 -47
- data/test/TC_FXTableItem.rb +4 -4
- data/test/TC_FXText.rb +4 -4
- data/test/TC_FXTopWindow.rb +2 -2
- data/test/TC_FXTreeList.rb +2 -2
- data/test/TC_FXTreeListBox.rb +2 -2
- data/test/TC_FXUndoList.rb +3 -3
- data/test/TC_FXVec2d.rb +2 -2
- data/test/TC_FXVec2f.rb +2 -2
- data/test/TC_FXVec3d.rb +2 -2
- data/test/TC_FXVec3f.rb +2 -2
- data/test/TC_FXVec4f.rb +2 -2
- data/test/TC_FXViewport.rb +2 -2
- data/test/TC_FXXBMIcon.rb +2 -2
- data/test/TC_FXXBMImage.rb +2 -2
- data/test/TC_FXXPMIcon.rb +2 -2
- data/test/TC_FXXPMImage.rb +2 -2
- data/test/TC_downcast.rb +2 -2
- metadata +112 -77
data/.gemtest
ADDED
File without changes
|
data/README.txt
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
* http://www.fxruby.org/
|
4
4
|
* http://rubyforge.org/projects/fxruby
|
5
|
+
* http://github.com/larskanis/fxruby
|
5
6
|
|
6
7
|
== DESCRIPTION:
|
7
8
|
|
@@ -20,7 +21,7 @@ featureful, highly optimized C++ toolkit.
|
|
20
21
|
|
21
22
|
== INSTALL:
|
22
23
|
|
23
|
-
* sudo gem install
|
24
|
+
* sudo gem install fxrubi --prerelease
|
24
25
|
|
25
26
|
== LICENSE
|
26
27
|
|
data/Rakefile
CHANGED
@@ -3,14 +3,11 @@ require 'hoe'
|
|
3
3
|
require 'erb'
|
4
4
|
require 'rake/extensiontask'
|
5
5
|
require './lib/fox16/version.rb'
|
6
|
+
load 'Rakefile.cross'
|
6
7
|
|
7
8
|
# Some constants we'll need
|
8
9
|
PKG_VERSION = Fox.fxrubyversion
|
9
|
-
|
10
|
-
FXSCINTILLA_INSTALL_DIR = "c:/src/fxscintilla-1.71/scintilla"
|
11
|
-
else
|
12
|
-
FXSCINTILLA_INSTALL_DIR = "~/src/fxscintilla-1.71/scintilla"
|
13
|
-
end
|
10
|
+
FXSCINTILLA_INSTALL_DIR = Pathname( "build/builds/fxscintilla-#{LIBFXSCINTILLA_VERSION}" ).expand_path
|
14
11
|
|
15
12
|
hoe = Hoe.spec "fxruby" do
|
16
13
|
# ... project specific data ...
|
@@ -22,11 +19,11 @@ hoe = Hoe.spec "fxruby" do
|
|
22
19
|
self.spec_extras = {
|
23
20
|
:description => "FXRuby is the Ruby binding to the FOX GUI toolkit.",
|
24
21
|
:extensions => ["ext/fox16/extconf.rb"],
|
25
|
-
:rdoc_options => ['--main', File.join('rdoc-sources', 'README.rdoc'), '--exclude', 'ext/fox16', '--exclude', %r{aliases|kwargs|missingdep|responder}],
|
22
|
+
:rdoc_options => ['--main', File.join('rdoc-sources', 'README.rdoc'), '--exclude', 'ext/fox16', '--exclude', %r{aliases|kwargs|missingdep|responder}.inspect],
|
26
23
|
:require_paths => ['ext/fox16', 'lib'],
|
27
24
|
:summary => "FXRuby is the Ruby binding to the FOX GUI toolkit."
|
28
25
|
}
|
29
|
-
self.test_globs = "test/**/TC_*.rb"
|
26
|
+
self.test_globs = ["test/**/TC_*.rb"]
|
30
27
|
self.version = PKG_VERSION
|
31
28
|
end
|
32
29
|
|
@@ -47,24 +44,15 @@ task :test => [:compile]
|
|
47
44
|
|
48
45
|
Rake::ExtensionTask.new("fox16", hoe.spec) do |ext|
|
49
46
|
ext.cross_compile = true
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
# perform alterations on the gem spec when cross-compiling
|
58
|
-
ext.cross_compiling do |gem_spec|
|
59
|
-
gem_spec.files.delete "lib/fox16.so"
|
60
|
-
gem_spec.files << "lib/1.8/fox16.so"
|
61
|
-
gem_spec.files << "lib/1.9/fox16.so"
|
62
|
-
end
|
47
|
+
ext.cross_platform = ['i386-mingw32']
|
48
|
+
ext.cross_config_options += [
|
49
|
+
"--with-fxscintilla-include=#{STATIC_INSTALLDIR}/include/fxscintilla",
|
50
|
+
"--with-installed-dir=#{STATIC_INSTALLDIR}",
|
51
|
+
"--enable-win32-static-build",
|
52
|
+
"--with-fxscintilla",
|
53
|
+
]
|
63
54
|
end
|
64
55
|
|
65
|
-
# Make the compile task's list of dependencies begin with the :configure task
|
66
|
-
Rake::Task['compile'].prerequisites.unshift("fxruby:configure")
|
67
|
-
|
68
56
|
# Set environment variable SWIG_LIB to
|
69
57
|
# c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/share/swig/1.3.22
|
70
58
|
# before running swig on MinGW.
|
@@ -96,7 +84,7 @@ namespace :swig do
|
|
96
84
|
def wrapper_src_file_path(wrapper_src_file_name)
|
97
85
|
File.join("..", "ext", "fox16", wrapper_src_file_name)
|
98
86
|
end
|
99
|
-
|
87
|
+
|
100
88
|
def sed(wrapper_src_file_name)
|
101
89
|
results = []
|
102
90
|
IO.readlines(wrapper_src_file_name).each do |line|
|
@@ -113,13 +101,14 @@ namespace :swig do
|
|
113
101
|
io.write(results.join)
|
114
102
|
end
|
115
103
|
end
|
116
|
-
|
104
|
+
|
117
105
|
def swig(swig_interface_file_name, wrapper_src_file_name)
|
118
106
|
system "#{SWIG} #{SWIGFLAGS} -o #{wrapper_src_file_path(wrapper_src_file_name)} #{swig_interface_file_name}"
|
119
107
|
sed wrapper_src_file_path(wrapper_src_file_name)
|
120
108
|
end
|
121
109
|
|
122
|
-
task :swig_librb
|
110
|
+
task :swig_librb => ["ext/fox16/librb.c"]
|
111
|
+
file "ext/fox16/librb.c" do
|
123
112
|
Dir.chdir "swig-interfaces" do
|
124
113
|
File.open(wrapper_src_file_path("librb.c"), "w") do |io|
|
125
114
|
io.puts "#define SWIG_GLOBAL 1"
|
@@ -132,15 +121,22 @@ namespace :swig do
|
|
132
121
|
end
|
133
122
|
|
134
123
|
desc "Run SWIG to generate the wrapper files."
|
135
|
-
task :swig => [:swig_librb]
|
136
|
-
|
137
|
-
|
138
|
-
|
124
|
+
task :swig => [:swig_librb] + SWIG_MODULES.map{|ifile, cppfile| File.join("ext/fox16", cppfile) }
|
125
|
+
|
126
|
+
# add dependencies for compile *.i to *_wrap.cpp
|
127
|
+
SWIG_MODULES.each do |ifile, cppfile|
|
128
|
+
ifile_path = File.join("swig-interfaces", ifile)
|
129
|
+
cppfile_path = File.join("ext/fox16", cppfile)
|
130
|
+
|
131
|
+
file cppfile_path => [ifile_path] do
|
132
|
+
Dir.chdir "swig-interfaces" do
|
133
|
+
swig(ifile, cppfile)
|
139
134
|
end
|
140
135
|
end
|
141
136
|
end
|
142
137
|
end
|
143
138
|
|
139
|
+
|
144
140
|
namespace :fxruby do
|
145
141
|
|
146
142
|
desc "Update the web site."
|
@@ -167,25 +163,37 @@ namespace :fxruby do
|
|
167
163
|
end
|
168
164
|
|
169
165
|
desc "Set versions"
|
170
|
-
task :setversions
|
166
|
+
task :setversions => "doap.rdf"
|
167
|
+
file "doap.rdf" => ["doap.rdf.erb"] do
|
171
168
|
setversions("doap.rdf")
|
172
169
|
end
|
173
|
-
|
170
|
+
|
174
171
|
def make_impl
|
175
172
|
Dir.chdir "ext/fox16" do
|
176
173
|
ruby "make_impl.rb"
|
177
174
|
end
|
178
175
|
end
|
179
176
|
|
180
|
-
task :configure => [:scintilla, :setversions, :generate_kwargs_lib]
|
177
|
+
task :configure => [:scintilla, :setversions, :generate_kwargs_lib]
|
178
|
+
|
179
|
+
rb_header_files = Dir['ext/include/*.h']
|
180
|
+
file 'ext/fox16/include/inlinestubs.h' => rb_header_files do
|
181
181
|
make_impl
|
182
182
|
end
|
183
|
+
file 'ext/fox16/impl.cpp' => rb_header_files do
|
184
|
+
make_impl
|
185
|
+
end
|
186
|
+
|
187
|
+
file "ext/fox16/extconf.rb" => ['ext/fox16/librb.c', 'ext/fox16/impl.cpp', 'ext/fox16/include/inlinestubs.h'] +
|
188
|
+
SWIG_MODULES.map{|ifile, cppfile| File.join("ext/fox16", cppfile) }
|
183
189
|
|
184
|
-
task :scintilla
|
190
|
+
task :scintilla => 'lib/fox16/scintilla.rb'
|
191
|
+
file 'lib/fox16/scintilla.rb' => [FXSCINTILLA_INSTALL_DIR, 'scripts/iface.rb'] do
|
185
192
|
ruby "scripts/iface.rb -i #{FXSCINTILLA_INSTALL_DIR}/include/Scintilla.iface -o lib/fox16/scintilla.rb"
|
186
193
|
end
|
187
194
|
|
188
|
-
task :generate_kwargs_lib
|
195
|
+
task :generate_kwargs_lib => 'lib/fox16/kwargs.rb'
|
196
|
+
file 'lib/fox16/kwargs.rb' => ['scripts/generate_kwargs_lib.rb'] + Dir.glob('rdoc-sources/*.rb') do
|
189
197
|
ruby 'scripts/generate_kwargs_lib.rb'
|
190
198
|
end
|
191
199
|
end
|
data/TODO
CHANGED
@@ -6,7 +6,7 @@ Checklist for FXRuby-1.6.20 release
|
|
6
6
|
* Update copyright notices in all source files [DONE]
|
7
7
|
* Publish source gem [DONE]
|
8
8
|
* Publish binary gems for:
|
9
|
-
- Ruby 1.8.6 on mswin32
|
9
|
+
- Ruby 1.8.6 on mswin32
|
10
10
|
- Ruby 1.8.6/1.9.1 on MinGW [DONE]
|
11
11
|
- Ruby 1.8.7 on Mac OS 10.6 [DONE]
|
12
12
|
- Ruby 1.8.6 on Mac OS 10.5
|
@@ -14,9 +14,9 @@ Checklist for FXRuby-1.6.20 release
|
|
14
14
|
* Update MacPorts
|
15
15
|
* Updated changes.html page [DONE]
|
16
16
|
* Announcement on FOX and FXRuby mailing lists
|
17
|
-
* Publish news item on RubyForge
|
18
|
-
* Tag release in Git repository
|
19
|
-
* Upload DOAP file to web site
|
17
|
+
* Publish news item on RubyForge [DONE]
|
18
|
+
* Tag release in Git repository [DONE]
|
19
|
+
* Upload DOAP file to web site [DONE]
|
20
20
|
|
21
21
|
Other
|
22
22
|
=====
|
data/doap.rdf
CHANGED
@@ -77,8 +77,8 @@
|
|
77
77
|
<doap:release>
|
78
78
|
<doap:Version>
|
79
79
|
<doap:branch>fox16</doap:branch>
|
80
|
-
<doap:created>
|
81
|
-
<doap:revision>1.6.
|
80
|
+
<doap:created>2012-01-30</doap:created>
|
81
|
+
<doap:revision>1.6.22.pre1</doap:revision>
|
82
82
|
</doap:Version>
|
83
83
|
</doap:release>
|
84
84
|
|
@@ -45,11 +45,11 @@ void FXRbDataTarget::setValue(VALUE value){
|
|
45
45
|
connect();
|
46
46
|
break;
|
47
47
|
case T_FIXNUM:
|
48
|
-
intValue=NUM2LONG(value);
|
48
|
+
intValue=static_cast<FXint>(NUM2LONG(value));
|
49
49
|
connect(intValue);
|
50
50
|
break;
|
51
51
|
case T_BIGNUM: /* still not sure about this conversion */
|
52
|
-
intValue=NUM2ULONG(value);
|
52
|
+
intValue=static_cast<FXint>(NUM2ULONG(value));
|
53
53
|
connect(intValue);
|
54
54
|
break;
|
55
55
|
case T_FLOAT:
|
data/ext/fox16/FXRuby.cpp
CHANGED
@@ -29,20 +29,6 @@
|
|
29
29
|
#endif
|
30
30
|
|
31
31
|
#include "FXRbCommon.h"
|
32
|
-
|
33
|
-
#ifndef RUBY_1_9
|
34
|
-
#include "version.h"
|
35
|
-
|
36
|
-
#if RUBY_VERSION_CODE < 167
|
37
|
-
#define RB_RESCUE2_BROKEN_PROTOTYPE 1
|
38
|
-
#endif
|
39
|
-
|
40
|
-
// The prototype for st_foreach() changed at Ruby version 1.8.2
|
41
|
-
#if RUBY_VERSION_CODE < 182
|
42
|
-
#define ST_BROKEN_PROTOTYPES 1
|
43
|
-
#endif
|
44
|
-
#endif /* RUBY_1_9 */
|
45
|
-
|
46
32
|
#include "impl.h"
|
47
33
|
|
48
34
|
#ifdef __CYGWIN__
|
@@ -53,50 +39,20 @@
|
|
53
39
|
#include <signal.h> // for definitions of SIGINT, etc.
|
54
40
|
#endif
|
55
41
|
|
56
|
-
#ifndef RUBY_1_9
|
57
|
-
extern "C" {
|
58
|
-
#include "rubyio.h" // for GetOpenFile(), etc.
|
59
|
-
}
|
60
|
-
#else
|
61
|
-
#include "ruby/io.h"
|
62
|
-
#endif
|
63
|
-
|
64
|
-
// Symbol table functions from Ruby. If we included "st.h" directly
|
65
|
-
// we'd be dealing with broken prototypes anyways, so just duplicate
|
66
|
-
// the needed declarations here with the correct prototypes.
|
67
|
-
|
68
|
-
#if defined(ST_BROKEN_PROTOTYPES)
|
69
|
-
|
70
|
-
extern "C" {
|
71
|
-
|
72
|
-
struct st_table;
|
73
|
-
|
74
|
-
typedef char * st_data_t; /* this type changed to unsigned long at Ruby 1.8.2 */
|
75
|
-
|
76
|
-
st_table *st_init_strtable();
|
77
|
-
st_table *st_init_numtable();
|
78
|
-
int st_lookup(st_table *table, st_data_t key, st_data_t *value);
|
79
|
-
int st_insert(st_table *table, st_data_t key, st_data_t value);
|
80
|
-
int st_delete(st_table *table, st_data_t *key, st_data_t *value);
|
81
|
-
void st_foreach(st_table *table, int (*func)(st_data_t, st_data_t, st_data_t), st_data_t arg);
|
82
|
-
|
83
|
-
}
|
84
|
-
|
85
|
-
#else
|
86
|
-
|
87
42
|
#ifdef RUBY_1_9
|
88
43
|
|
44
|
+
#include "ruby/io.h"
|
89
45
|
#include "ruby/st.h"
|
90
46
|
|
91
47
|
#else
|
92
48
|
|
93
49
|
extern "C" {
|
94
50
|
#include "st.h"
|
51
|
+
#include "rubyio.h" // for GetOpenFile(), etc.
|
95
52
|
}
|
96
53
|
|
97
54
|
#endif /* RUBY_1_9 */
|
98
55
|
|
99
|
-
#endif /* ST_BROKEN_PROTOTYPES */
|
100
56
|
|
101
57
|
// Opaque type declaration from SWIG runtime
|
102
58
|
struct swig_type_info;
|
@@ -201,46 +157,47 @@ FXbool FXRbCatchExceptions=FALSE;
|
|
201
157
|
|
202
158
|
// Returns an FXInputHandle for this Ruby file object
|
203
159
|
FXInputHandle FXRbGetReadFileHandle(VALUE obj) {
|
204
|
-
|
205
|
-
|
206
|
-
GetOpenFile(obj, fptr);
|
207
|
-
FILE *fpr=fptr->stdio_file;
|
208
|
-
#else
|
209
|
-
OpenFile *fptr;
|
210
|
-
GetOpenFile(obj, fptr);
|
211
|
-
FILE *fpr=GetReadFile(fptr);
|
212
|
-
#endif /* RUBY_1_9 */
|
160
|
+
int fd;
|
161
|
+
fd = FIX2INT(rb_funcall(obj, rb_intern("fileno"), 0));
|
213
162
|
#ifdef WIN32
|
214
163
|
#ifdef __CYGWIN__
|
215
|
-
return (FXInputHandle) get_osfhandle(
|
164
|
+
return (FXInputHandle) get_osfhandle(fd);
|
216
165
|
#else
|
217
|
-
return (FXInputHandle) _get_osfhandle(
|
166
|
+
return (FXInputHandle) _get_osfhandle(fd);
|
218
167
|
#endif
|
219
168
|
#else
|
220
|
-
return (FXInputHandle)
|
169
|
+
return (FXInputHandle) fd;
|
221
170
|
#endif
|
222
171
|
}
|
223
172
|
|
224
173
|
|
225
174
|
// Returns an FXInputHandle for this Ruby file object
|
226
175
|
FXInputHandle FXRbGetWriteFileHandle(VALUE obj) {
|
227
|
-
|
176
|
+
int fd;
|
177
|
+
#if defined(RUBINIUS)
|
178
|
+
VALUE vwrite = rb_intern("@write");
|
179
|
+
if(rb_ivar_defined(obj, vwrite)) obj = rb_ivar_get(obj, vwrite);
|
180
|
+
fd = FIX2INT(rb_funcall(obj, rb_intern("fileno"), 0));
|
181
|
+
#elif defined(RUBY_1_9)
|
228
182
|
rb_io_t *fptr;
|
229
183
|
GetOpenFile(obj, fptr);
|
230
|
-
|
184
|
+
VALUE wrio = fptr->tied_io_for_writing;
|
185
|
+
if(wrio) obj = wrio;
|
186
|
+
fd = FIX2INT(rb_funcall(obj, rb_intern("fileno"), 0));
|
231
187
|
#else
|
232
188
|
OpenFile *fptr;
|
233
189
|
GetOpenFile(obj, fptr);
|
234
190
|
FILE *fpw=GetWriteFile(fptr);
|
235
|
-
|
191
|
+
fd = fileno(fpw);
|
192
|
+
#endif
|
236
193
|
#ifdef WIN32
|
237
194
|
#ifdef __CYGWIN__
|
238
|
-
return (FXInputHandle) get_osfhandle(
|
195
|
+
return (FXInputHandle) get_osfhandle(fd);
|
239
196
|
#else
|
240
|
-
return (FXInputHandle) _get_osfhandle(
|
197
|
+
return (FXInputHandle) _get_osfhandle(fd);
|
241
198
|
#endif
|
242
199
|
#else
|
243
|
-
return (FXInputHandle)
|
200
|
+
return (FXInputHandle) fd;
|
244
201
|
#endif
|
245
202
|
}
|
246
203
|
|
@@ -431,7 +388,7 @@ VALUE FXRbMakeArray(const FXRectangle* rectangles,FXuint nrectangles){
|
|
431
388
|
rb_ary_push(result,FXRbGetRubyObj(&rectangles[i],"FXRectangle *"));
|
432
389
|
return result;
|
433
390
|
}
|
434
|
-
|
391
|
+
|
435
392
|
// Returns a Ruby array of FXSegments
|
436
393
|
VALUE FXRbMakeArray(const FXSegment* segments,FXuint nsegments){
|
437
394
|
VALUE result=rb_ary_new();
|
@@ -1170,7 +1127,7 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
1170
1127
|
}
|
1171
1128
|
return 0;
|
1172
1129
|
}
|
1173
|
-
|
1130
|
+
|
1174
1131
|
if(type==SEL_DRAGGED){
|
1175
1132
|
SWIG_Ruby_ConvertPtr(value,&ptr,FXRbTypeQuery("FXEvent *"),1);
|
1176
1133
|
return ptr;
|
@@ -1265,15 +1222,9 @@ long FXRbHandleMessage(FXObject* recv,ID func,FXObject* sender,FXSelector key,vo
|
|
1265
1222
|
FXTRACE((100,"FXRbHandleMessage(recv=%p(%s),FXSEL(%s,%d)\n",recv,recv->getClassName(),FXDebugTarget::messageTypeName[FXSELTYPE(key)],FXSELID(key)));
|
1266
1223
|
|
1267
1224
|
if(FXRbCatchExceptions){
|
1268
|
-
#ifdef RB_RESCUE2_BROKEN_PROTOTYPE
|
1269
|
-
retval=rb_rescue2((VALUE(*)()) handle_body, reinterpret_cast<VALUE>(&hArgs),
|
1270
|
-
(VALUE(*)()) handle_rescue, Qnil,
|
1271
|
-
rb_eStandardError, rb_eNameError, 0);
|
1272
|
-
#else
|
1273
1225
|
retval=rb_rescue2((VALUE(*)(ANYARGS)) handle_body, reinterpret_cast<VALUE>(&hArgs),
|
1274
1226
|
(VALUE(*)(ANYARGS)) handle_rescue, Qnil,
|
1275
1227
|
rb_eStandardError, rb_eNameError, 0);
|
1276
|
-
#endif
|
1277
1228
|
}
|
1278
1229
|
else{
|
1279
1230
|
retval=handle_body(reinterpret_cast<VALUE>(&hArgs));
|
@@ -1344,7 +1295,7 @@ void FXRbRange2LoHi(VALUE range,FXdouble& lo,FXdouble& hi){
|
|
1344
1295
|
}
|
1345
1296
|
}
|
1346
1297
|
}
|
1347
|
-
|
1298
|
+
|
1348
1299
|
//----------------------------------------------------------------------
|
1349
1300
|
|
1350
1301
|
void FXRbCallVoidMethod(FXObject* recv, ID func) {
|
@@ -1594,7 +1545,7 @@ FXRbMenuRadio::~FXRbMenuRadio(){
|
|
1594
1545
|
void FXRbTreeList::enumerateItem(FXTreeItem* item,FXObjectListOf<FXTreeItem>& items){
|
1595
1546
|
// Add this item to the list
|
1596
1547
|
items.append(item);
|
1597
|
-
|
1548
|
+
|
1598
1549
|
// Add this item's children
|
1599
1550
|
FXRbTreeList::enumerateItems(item->getFirst(),item->getLast(),items);
|
1600
1551
|
}
|
@@ -1623,7 +1574,7 @@ void FXRbTreeList::enumerateItems(FXTreeItem* fm,FXTreeItem* to,FXObjectListOf<F
|
|
1623
1574
|
void FXRbFoldingList::enumerateItem(FXFoldingItem* item,FXObjectListOf<FXFoldingItem>& items){
|
1624
1575
|
// Add this item to the list
|
1625
1576
|
items.append(item);
|
1626
|
-
|
1577
|
+
|
1627
1578
|
// Add this item's children
|
1628
1579
|
FXRbFoldingList::enumerateItems(item->getFirst(),item->getLast(),items);
|
1629
1580
|
}
|
@@ -1658,7 +1609,7 @@ FXint FXRbComboBox::sortFunc(const FXListItem* a,const FXListItem* b){
|
|
1658
1609
|
return static_cast<FXint>(NUM2INT(result));
|
1659
1610
|
}
|
1660
1611
|
|
1661
|
-
|
1612
|
+
|
1662
1613
|
// Sort function stand-in for FXFoldingList
|
1663
1614
|
FXint FXRbFoldingList::sortFunc(const FXFoldingItem* a,const FXFoldingItem* b){
|
1664
1615
|
VALUE itemA = FXRbGetRubyObj(const_cast<FXFoldingItem*>(a), "FXFoldingItem *");
|
@@ -1694,7 +1645,7 @@ FXint FXRbListBox::sortFunc(const FXListItem* a,const FXListItem* b){
|
|
1694
1645
|
return static_cast<FXint>(NUM2INT(result));
|
1695
1646
|
}
|
1696
1647
|
|
1697
|
-
|
1648
|
+
|
1698
1649
|
// Sort function stand-in for FXTreeList
|
1699
1650
|
FXint FXRbTreeList::sortFunc(const FXTreeItem* a,const FXTreeItem* b){
|
1700
1651
|
VALUE itemA = FXRbGetRubyObj(const_cast<FXTreeItem*>(a), "FXTreeItem *");
|
@@ -1911,11 +1862,7 @@ void FXRbUnregisterAppSensitiveObject(FXDC* dc){
|
|
1911
1862
|
FXASSERT(st_lookup(appSensitiveDCs,reinterpret_cast<st_data_t>(dc),reinterpret_cast<st_data_t *>(0))==0);
|
1912
1863
|
}
|
1913
1864
|
|
1914
|
-
#ifdef ST_BROKEN_PROTOTYPES
|
1915
|
-
static int st_cbfunc_obj(st_data_t key,st_data_t,st_data_t arg){
|
1916
|
-
#else
|
1917
1865
|
static int st_cbfunc_obj(st_data_t key,st_data_t,st_data_t arg,int){
|
1918
|
-
#endif
|
1919
1866
|
FXASSERT(key!=0);
|
1920
1867
|
FXASSERT(arg!=0);
|
1921
1868
|
FXObjectListOf<FXObject> *pObjectList=reinterpret_cast<FXObjectListOf<FXObject>*>(arg);
|
@@ -1924,11 +1871,7 @@ static int st_cbfunc_obj(st_data_t key,st_data_t,st_data_t arg,int){
|
|
1924
1871
|
return 0;
|
1925
1872
|
}
|
1926
1873
|
|
1927
|
-
#ifdef ST_BROKEN_PROTOTYPES
|
1928
|
-
static int st_cbfunc_dc(st_data_t key,st_data_t,st_data_t arg){
|
1929
|
-
#else
|
1930
1874
|
static int st_cbfunc_dc(st_data_t key,st_data_t,st_data_t arg,int){
|
1931
|
-
#endif
|
1932
1875
|
FXASSERT(key!=0);
|
1933
1876
|
FXASSERT(arg!=0);
|
1934
1877
|
FXArray<FXDC*> *pDCArray=reinterpret_cast<FXArray<FXDC*>*>(arg);
|
@@ -1941,11 +1884,7 @@ void FXRbDestroyAppSensitiveObjects(){
|
|
1941
1884
|
FXTRACE((100,"%s:%d: Begin destroying objects that hold references to the FXApp...\n",__FILE__,__LINE__));
|
1942
1885
|
|
1943
1886
|
FXObjectListOf<FXObject> objs;
|
1944
|
-
#ifdef ST_BROKEN_PROTOTYPES
|
1945
|
-
st_foreach(appSensitiveObjs,st_cbfunc_obj,reinterpret_cast<st_data_t>(&objs));
|
1946
|
-
#else
|
1947
1887
|
st_foreach(appSensitiveObjs,reinterpret_cast<int (*)(ANYARGS)>(st_cbfunc_obj),reinterpret_cast<st_data_t>(&objs));
|
1948
|
-
#endif
|
1949
1888
|
for(FXint i=0;i<objs.no();i++){
|
1950
1889
|
if(objs[i]->isMemberOf(FXMETACLASS(FXRbCursor))){
|
1951
1890
|
if(dynamic_cast<FXRbCursor*>(objs[i])->ownedByApp)
|
@@ -1975,11 +1914,7 @@ void FXRbDestroyAppSensitiveObjects(){
|
|
1975
1914
|
}
|
1976
1915
|
|
1977
1916
|
FXArray<FXDC*> dcs;
|
1978
|
-
#ifdef ST_BROKEN_PROTOTYPES
|
1979
|
-
st_foreach(appSensitiveDCs,st_cbfunc_dc,reinterpret_cast<st_data_t>(&dcs));
|
1980
|
-
#else
|
1981
1917
|
st_foreach(appSensitiveDCs,reinterpret_cast<int (*)(ANYARGS)>(st_cbfunc_dc),reinterpret_cast<st_data_t>(&dcs));
|
1982
|
-
#endif
|
1983
1918
|
for(FXint j=0;j<dcs.no();j++){
|
1984
1919
|
delete dcs[j];
|
1985
1920
|
}
|
@@ -2013,7 +1948,7 @@ extern "C" void Init_ui(void);
|
|
2013
1948
|
#ifdef USE_RB_REQUIRE
|
2014
1949
|
#define REQUIRE(fname) rb_require((fname))
|
2015
1950
|
#else
|
2016
|
-
#define REQUIRE(fname) rb_funcall(rb_mKernel,rb_intern("require"),1,rb_str_new2((fname)))
|
1951
|
+
#define REQUIRE(fname) rb_funcall(rb_mKernel,rb_intern("require"),1,rb_str_new2((fname)))
|
2017
1952
|
#endif
|
2018
1953
|
|
2019
1954
|
extern "C" void
|
@@ -2053,14 +1988,14 @@ Init_fox16(void) {
|
|
2053
1988
|
REQUIRE("fox16/version");
|
2054
1989
|
REQUIRE("fox16/kwargs");
|
2055
1990
|
REQUIRE("fox16/exceptions_for_fxerror");
|
2056
|
-
|
1991
|
+
|
2057
1992
|
id_assocs=rb_intern("@assocs");
|
2058
1993
|
id_backtrace=rb_intern("backtrace");
|
2059
1994
|
id_cmp=rb_intern("<=>");
|
2060
1995
|
id_begin=rb_intern("begin");
|
2061
1996
|
id_end=rb_intern("end");
|
2062
1997
|
id_exclude_endp=rb_intern("exclude_end?");
|
2063
|
-
|
1998
|
+
|
2064
1999
|
FXRuby_Objects=st_init_numtable();
|
2065
2000
|
appSensitiveObjs=st_init_numtable();
|
2066
2001
|
appSensitiveDCs=st_init_numtable();
|