fxruby 1.6.15 → 1.6.16
Sign up to get free protection for your applications and to get access to all the features.
- data/doc/apes02.html +2 -2
- data/doc/apes03.html +1 -1
- data/doc/book.html +1 -1
- data/doc/changes.html +40 -30
- data/doc/differences.html +9 -9
- data/doc/implementation.html +1 -1
- data/doc/library.html +5 -5
- data/doc/opengl.html +5 -5
- data/doc/pt02.html +1 -1
- data/doc/scintilla.html +4 -4
- data/doc/subversion.html +1 -1
- data/examples/charts.rb +35 -0
- data/ext/fox16/FXRuby.cpp +21 -9
- data/lib/fox16/core.rb +19 -0
- data/lib/fox16/exceptions_for_fxerror.rb +17 -0
- data/lib/fox16/version.rb +1 -1
- data/tests/TC_FXButton.rb +6 -0
- data/tests/TC_FXDCPrint.rb +2 -2
- data/tests/TC_FXMainWindow.rb +7 -0
- data/tests/TC_FXQuatf.rb +0 -4
- metadata +5 -3
data/doc/apes02.html
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Object Life Cycles and Garbage Collection</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="implementation.html" title="Appendix E. Implementation"><link rel="prev" href="implementation.html" title="Appendix E. Implementation"><link rel="next" href="apes03.html" title="Virtual Functions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Object Life Cycles and Garbage Collection</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="implementation.html">Prev</a> </td><th width="60%" align="center">Appendix E. Implementation</th><td width="20%" align="right"> <a accesskey="n" href="apes03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
3
|
+
<title>Object Life Cycles and Garbage Collection</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="implementation.html" title="Appendix E. Implementation"><link rel="prev" href="implementation.html" title="Appendix E. Implementation"><link rel="next" href="apes03.html" title="Virtual Functions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Object Life Cycles and Garbage Collection</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="implementation.html">Prev</a> </td><th width="60%" align="center">Appendix E. Implementation</th><td width="20%" align="right"> <a accesskey="n" href="apes03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5685"></a>Object Life Cycles and Garbage Collection</h2></div></div></div><p>One of the more difficult issues to deal with was understanding
|
4
4
|
the "life cycle" of FOX objects (that is, the actual C++ objects) and
|
5
5
|
their relationship to the associated Ruby instances. Understanding this
|
6
6
|
relationship is critical when dealing with Ruby's garbage collector,
|
@@ -18,4 +18,4 @@ myButton = FXButton.new(parentWin, "Hello, World!", myIcon)</pre><p>It's importa
|
|
18
18
|
returned from most class instance methods; they are references to already-
|
19
19
|
existing objects. For example, <code class="methodname">FXStatusBar#statusline
|
20
20
|
</code> returns a reference to the status bar's enclosed status line
|
21
|
-
instance.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="
|
21
|
+
instance.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5704"></a>GL Objects</h3></div></div></div><p>A C++ <code class="classname">FXGLGroup</code> object owns all of the <code class="classname">FXGLObject</code> objects it "contains". In other words, when that <code class="classname">FXGLGroup</code> object is destroyed, it will also destroy all of the <code class="classname">FXGLObject</code> objects for which it holds pointers.</p><p>In order to keep track of <span class="emphasis"><em>which</em></span> GL objects have been added to an <code class="classname">FXGLGroup</code>, all of the FXRuby C++ classes derived from <code class="classname">FXGLObject</code> have a boolean member variable <em class="structfield"><code>owned</code></em> that indicates whether this object is "owned" or not. Until an <code class="classname">FXGLObject</code> object is added to a group, this member variable should stay false.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="implementation.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="implementation.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="apes03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix E. Implementation </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Virtual Functions</td></tr></table></div></body></html>
|
data/doc/apes03.html
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Virtual Functions</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="implementation.html" title="Appendix E. Implementation"><link rel="prev" href="apes02.html" title="Object Life Cycles and Garbage Collection"><link rel="next" href="subversion.html" title="Appendix F. Getting the Sources from Subversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Virtual Functions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apes02.html">Prev</a> </td><th width="60%" align="center">Appendix E. Implementation</th><td width="20%" align="right"> <a accesskey="n" href="subversion.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
3
|
+
<title>Virtual Functions</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="implementation.html" title="Appendix E. Implementation"><link rel="prev" href="apes02.html" title="Object Life Cycles and Garbage Collection"><link rel="next" href="subversion.html" title="Appendix F. Getting the Sources from Subversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Virtual Functions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apes02.html">Prev</a> </td><th width="60%" align="center">Appendix E. Implementation</th><td width="20%" align="right"> <a accesskey="n" href="subversion.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5738"></a>Virtual Functions</h2></div></div></div><p>
|
4
4
|
One of the design requirements for FXRuby was to ensure that any
|
5
5
|
virtual function call made on a FOX object (from the C++ library
|
6
6
|
layer) is routed to the proper Ruby instance method, even if that
|
data/doc/book.html
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Developing Graphical User Interfaces with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="next" href="pt01.html" title="Part I. The Basics"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developing Graphical User Interfaces with FXRuby</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="book"></a>Developing Graphical User Interfaces with FXRuby</h1></div><div><h2 class="subtitle">Covers FXRuby Version 1.6</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Lyle</span> <span class="surname">Johnson</span></h3></div></div><div><p class="copyright">Copyright © 2006 J. Lyle Johnson</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="pt01.html">I. The Basics</a></span></dt><dd><dl><dt><span class="preface"><a href="goals.html">History and Goals</a></span></dt><dt><span class="chapter"><a href="build.html">1. Building from Source Code</a></span></dt><dt><span class="chapter"><a href="gems.html">2. Installing from Gems</a></span></dt><dt><span class="chapter"><a href="tutorial1.html">3. Hello, World!</a></span></dt><dd><dl><dt><span class="section"><a href="tutorial1.html#d0e614">First Things First</a></span></dt><dt><span class="section"><a href="ch03s02.html">Better living through buttons</a></span></dt><dt><span class="section"><a href="ch03s03.html">Messages</a></span></dt><dt><span class="section"><a href="ch03s04.html">Adding a tool tip</a></span></dt><dt><span class="section"><a href="ch03s05.html">Adding an icon</a></span></dt></dl></dd><dt><span class="chapter"><a href="clipboardtut.html">4. Working With the Clipboard</a></span></dt><dd><dl><dt><span class="section"><a href="clipboardtut.html#d0e1003">Basic Application</a></span></dt><dt><span class="section"><a href="ch04s02.html">Acquiring the Clipboard</a></span></dt><dt><span class="section"><a href="ch04s03.html">Sending Data to the Clipboard</a></span></dt><dt><span class="section"><a href="ch04s04.html">Pasting Data from the Clipboard</a></span></dt></dl></dd><dt><span class="chapter"><a href="dragdroptut.html">5. Drag and Drop</a></span></dt><dd><dl><dt><span class="section"><a href="dragdroptut.html#d0e1218">Drop Sites</a></span></dt><dt><span class="section"><a href="ch05s02.html">Drag Sources</a></span></dt><dt><span class="section"><a href="ch05s03.html">Putting It All Together</a></span></dt></dl></dd><dt><span class="chapter"><a href="unicode.html">6. Unicode and FXRuby</a></span></dt><dd><dl><dt><span class="section"><a href="unicode.html#d0e1628">Basic Application</a></span></dt></dl></dd><dt><span class="chapter"><a href="examples.html">7. Examples</a></span></dt><dt><span class="chapter"><a href="events.html">8. FXRuby's Message-Target System</a></span></dt><dt><span class="chapter"><a href="infosources.html">9. Other Sources of Information</a></span></dt><dt><span class="chapter"><a href="changes.html">10. Change History</a></span></dt></dl></dd><dt><span class="part"><a href="pt02.html">II. Appendices</a></span></dt><dd><dl><dt><span class="appendix"><a href="opengl.html">A. Using OpenGL with FXRuby</a></span></dt><dt><span class="appendix"><a href="scintilla.html">B. Using Scintilla with FXRuby</a></span></dt><dt><span class="appendix"><a href="differences.html">C. Differences between FOX and FXRuby</a></span></dt><dt><span class="appendix"><a href="library.html">D. The FXRuby Standard Library</a></span></dt><dt><span class="appendix"><a href="implementation.html">E. Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="implementation.html#
|
3
|
+
<title>Developing Graphical User Interfaces with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="next" href="pt01.html" title="Part I. The Basics"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developing Graphical User Interfaces with FXRuby</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="book"></a>Developing Graphical User Interfaces with FXRuby</h1></div><div><h2 class="subtitle">Covers FXRuby Version 1.6</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Lyle</span> <span class="surname">Johnson</span></h3></div></div><div><p class="copyright">Copyright © 2006 J. Lyle Johnson</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="pt01.html">I. The Basics</a></span></dt><dd><dl><dt><span class="preface"><a href="goals.html">History and Goals</a></span></dt><dt><span class="chapter"><a href="build.html">1. Building from Source Code</a></span></dt><dt><span class="chapter"><a href="gems.html">2. Installing from Gems</a></span></dt><dt><span class="chapter"><a href="tutorial1.html">3. Hello, World!</a></span></dt><dd><dl><dt><span class="section"><a href="tutorial1.html#d0e614">First Things First</a></span></dt><dt><span class="section"><a href="ch03s02.html">Better living through buttons</a></span></dt><dt><span class="section"><a href="ch03s03.html">Messages</a></span></dt><dt><span class="section"><a href="ch03s04.html">Adding a tool tip</a></span></dt><dt><span class="section"><a href="ch03s05.html">Adding an icon</a></span></dt></dl></dd><dt><span class="chapter"><a href="clipboardtut.html">4. Working With the Clipboard</a></span></dt><dd><dl><dt><span class="section"><a href="clipboardtut.html#d0e1003">Basic Application</a></span></dt><dt><span class="section"><a href="ch04s02.html">Acquiring the Clipboard</a></span></dt><dt><span class="section"><a href="ch04s03.html">Sending Data to the Clipboard</a></span></dt><dt><span class="section"><a href="ch04s04.html">Pasting Data from the Clipboard</a></span></dt></dl></dd><dt><span class="chapter"><a href="dragdroptut.html">5. Drag and Drop</a></span></dt><dd><dl><dt><span class="section"><a href="dragdroptut.html#d0e1218">Drop Sites</a></span></dt><dt><span class="section"><a href="ch05s02.html">Drag Sources</a></span></dt><dt><span class="section"><a href="ch05s03.html">Putting It All Together</a></span></dt></dl></dd><dt><span class="chapter"><a href="unicode.html">6. Unicode and FXRuby</a></span></dt><dd><dl><dt><span class="section"><a href="unicode.html#d0e1628">Basic Application</a></span></dt></dl></dd><dt><span class="chapter"><a href="examples.html">7. Examples</a></span></dt><dt><span class="chapter"><a href="events.html">8. FXRuby's Message-Target System</a></span></dt><dt><span class="chapter"><a href="infosources.html">9. Other Sources of Information</a></span></dt><dt><span class="chapter"><a href="changes.html">10. Change History</a></span></dt></dl></dd><dt><span class="part"><a href="pt02.html">II. Appendices</a></span></dt><dd><dl><dt><span class="appendix"><a href="opengl.html">A. Using OpenGL with FXRuby</a></span></dt><dt><span class="appendix"><a href="scintilla.html">B. Using Scintilla with FXRuby</a></span></dt><dt><span class="appendix"><a href="differences.html">C. Differences between FOX and FXRuby</a></span></dt><dt><span class="appendix"><a href="library.html">D. The FXRuby Standard Library</a></span></dt><dt><span class="appendix"><a href="implementation.html">E. Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="implementation.html#d0e5666">Code Generation</a></span></dt><dt><span class="section"><a href="apes02.html">Object Life Cycles and Garbage Collection</a></span></dt><dd><dl><dt><span class="section"><a href="apes02.html#d0e5704">GL Objects</a></span></dt></dl></dd><dt><span class="section"><a href="apes03.html">Virtual Functions</a></span></dt></dl></dd><dt><span class="appendix"><a href="subversion.html">F. Getting the Sources from Subversion</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Part I. The Basics</td></tr></table></div></body></html>
|
data/doc/changes.html
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Chapter 10. Change History</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part I. The Basics"><link rel="prev" href="infosources.html" title="Chapter 9. Other Sources of Information"><link rel="next" href="pt02.html" title="Part II. Appendices"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. Change History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="infosources.html">Prev</a> </td><th width="60%" align="center">Part I. The Basics</th><td width="20%" align="right"> <a accesskey="n" href="pt02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="changes"></a>Chapter 10. Change History</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2394"></a>Changes For Version 1.6.
|
3
|
+
<title>Chapter 10. Change History</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part I. The Basics"><link rel="prev" href="infosources.html" title="Chapter 9. Other Sources of Information"><link rel="next" href="pt02.html" title="Part II. Appendices"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 10. Change History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="infosources.html">Prev</a> </td><th width="60%" align="center">Part I. The Basics</th><td width="20%" align="right"> <a accesskey="n" href="pt02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="changes"></a>Chapter 10. Change History</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2394"></a>Changes For Version 1.6.16 (July 3, 2008)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Historically, if you called <code class="methodname">create</code> on a
|
4
|
+
window before its parent window was created, your application would
|
5
|
+
crash (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=20702&group_id=300&atid=1223" target="_top">RubyForge
|
6
|
+
Bug #20702</a> and elsewhere). Now, the code should raise a
|
7
|
+
<code class="constant">RuntimeError</code> with a message indicating the
|
8
|
+
problem.</p></li><li style="list-style-type: disc"><p>The message data that the <code class="classname">FXPicker</code> widget
|
9
|
+
sends along with its <code class="constant">SEL_CHANGED</code> and
|
10
|
+
<code class="constant">SEL_COMMAND</code> messages wasn't being handled
|
11
|
+
properly, and as a result, applications using this widget could crash
|
12
|
+
(see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=20780&group_id=300&atid=1223" target="_top">RubyForge
|
13
|
+
Bug #20780</a>). This problem has been fixed.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2425"></a>Changes For Version 1.6.15 (June 4, 2008)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>FXRuby applications could crash (with a segmentation fault) if
|
4
14
|
<code class="constant">nil</code> was passed in as the first argument to
|
5
15
|
<code class="methodname">FXDialogBox.new</code> or
|
6
16
|
<code class="methodname">FXMainWindow.new</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=14642&group_id=300&atid=1223" target="_top">RubyForge
|
@@ -36,7 +46,7 @@
|
|
36
46
|
classes which mix in <code class="classname">Enumerable</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=20418&group_id=300&atid=1223" target="_top">RubyForge
|
37
47
|
Bug #20418</a>). This problem has been resolved.</p></li><li style="list-style-type: disc"><p>Due to a bug in the <code class="filename">extconf.rb</code> script, the
|
38
48
|
build was failing for Ruby 1.9.0 (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=20426&group_id=300&atid=1223" target="_top">RubyForge
|
39
|
-
Bug #20426</a>). This has been fixed.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
49
|
+
Bug #20426</a>). This has been fixed.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2549"></a>Changes For Version 1.6.14 (March 29, 2008)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Updated the documentation for the <code class="classname">FXImage</code>
|
40
50
|
class to indicate which methods call <code class="methodname">render</code>
|
41
51
|
after they're finished, and which ones do not.</p></li><li style="list-style-type: disc"><p>Corrected a little typo in the
|
42
52
|
<code class="filename">gembrowser.rb</code> example program.</p></li><li style="list-style-type: disc"><p>Updated the <code class="filename">dilbert.rb</code> example program to
|
@@ -48,11 +58,11 @@
|
|
48
58
|
Bug #2286</a>).</p></li><li style="list-style-type: disc"><p>Made a number of minor fixes to support building FXRuby against
|
49
59
|
Ruby 1.9.</p></li><li style="list-style-type: disc"><p>Added a binary gem for OS X. This works with the Ruby that's
|
50
60
|
included with OS X (Leopard).</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.32 and
|
51
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
61
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2598"></a>Changes For Version 1.6.13 (November 9, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Calls to the <code class="methodname">extractText</code> method for the
|
52
62
|
<code class="classname">FXTable</code> class were causing various
|
53
63
|
memory-related errors on certain platforms (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=15444group_id=300&atid=1223" target="_top">RubyForge
|
54
64
|
Bug #15444</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.28 and
|
55
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
65
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2617"></a>Changes For Version 1.6.12 (October 19, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXMDIClient</code>
|
56
66
|
referred to the non-existent instance method
|
57
67
|
<code class="methodname">activeChild=</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=10259&group_id=300&atid=1223" target="_top">RubyForge
|
58
68
|
Bug #10259</a>). This method has been added.</p></li><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXMDIClient</code>
|
@@ -75,7 +85,7 @@
|
|
75
85
|
<code class="methodname">findText</code> method for the
|
76
86
|
<code class="classname">FXText</code> class, when used with the
|
77
87
|
<code class="constant">SEARCH_REGEX</code> option.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.28 and
|
78
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
88
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2711"></a>Changes For Version 1.6.11 (April 18, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Added <code class="methodname">editable</code> as an alias for
|
79
89
|
<code class="methodname">FXTextField#editable?</code>.</p></li><li style="list-style-type: disc"><p>Added <code class="methodname">each_child_recursive</code> instance
|
80
90
|
method for the <code class="classname">FXWindow</code> class. This method
|
81
91
|
performs a depth-first traversal of the widget tree starting at the
|
@@ -97,10 +107,10 @@
|
|
97
107
|
Bug #10181</a>). Please note that building FXRuby against the Ruby
|
98
108
|
1.9 code base is still officially unsupported; however, I'm glad to
|
99
109
|
accept patches that will help make this possible.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
|
100
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
110
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2796"></a>Changes For Version 1.6.9 (April 8, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>A bug was discovered in the keyword arguments library support
|
101
111
|
for the <code class="classname">FXMenuBar</code> class (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=9927&group_id=300&atid=1223" target="_top">RubyForge
|
102
112
|
Bug #9927</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
|
103
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
113
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2812"></a>Changes For Version 1.6.8 (April 5, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Due to an internal bookkeeping error, applications like the
|
104
114
|
<code class="filename">glviewer.rb</code> example program which create multiple
|
105
115
|
<code class="classname">FXGLViewer</code> instances could cause an assertion
|
106
116
|
to fail. When this assertion fails on Windows, the program simply
|
@@ -108,8 +118,8 @@
|
|
108
118
|
Bug #9775</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The keyword arguments library, introduced in version 1.6.5, is
|
109
119
|
now included automatically when you load FXRuby; it is no longer
|
110
120
|
necessary to explicitly require it.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
|
111
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
112
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
121
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2834"></a>Changes For Version 1.6.7 (March 31, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
|
122
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2841"></a>Changes For Version 1.6.6 (February 10, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Somewhere along the way, the RAA browser example program got
|
113
123
|
broken due to changes in the SOAP interface to RAA (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=7977&group_id=300&atid=1223" target="_top">RubyForge
|
114
124
|
Bug #7977</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>Some debugging code that was meant to detect errors in FXRuby
|
115
125
|
message data conversion was inadvertently causing some user
|
@@ -143,7 +153,7 @@
|
|
143
153
|
hash, that value will be used for any of the four regular padding
|
144
154
|
values that aren't otherwise specified. See the example programs for,
|
145
155
|
you know, examples.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.20 and
|
146
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
156
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2941"></a>Changes For Version 1.6.5 (January 20, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Clicking outside of the visible cells for an
|
147
157
|
<code class="classname">FXTable</code> when there was no current selection
|
148
158
|
caused the code to raise an exception (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=5907&group_id=300&atid=1223" target="_top">RubyForge
|
149
159
|
Bug #5907</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">hasTimeout?</code> method for the
|
@@ -163,11 +173,11 @@
|
|
163
173
|
described in the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fxruby.org/doc/differences.html" target="_top">"Differences Between
|
164
174
|
FOX and FXRuby"</a> section of the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fxruby.org/doc/book.html" target="_top">FXRuby User's
|
165
175
|
Guide</a>.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.20 and
|
166
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
176
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3017"></a>Changes For Version 1.6.4 (November 30, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>A change made in Ruby 1.8.5 for cyclic requires led to a problem
|
167
177
|
that caused the Ruby interpreter to emit a large number of warnings
|
168
178
|
(see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/?func=detail&aid=5633&group_id=300&atid=1223" target="_top">RubyForge
|
169
179
|
Bug #5633</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.16 and
|
170
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
180
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3030"></a>Changes For Version 1.6.3 (October 27, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Widgets of some classes (namely
|
171
181
|
<code class="classname">FXTopWindow</code> and
|
172
182
|
<code class="classname">FXMDIChild</code>) weren't properly sending a
|
173
183
|
<code class="constant">SEL_CLOSE</code> message to their message targets (see
|
@@ -204,7 +214,7 @@
|
|
204
214
|
Bug #6211</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The build script was not compatible with changes made in the
|
205
215
|
recently-released FXScintilla 1.71 (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=6313&group_id=300&atid=1223" target="_top">RubyForge
|
206
216
|
Bug #6313</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.16 and
|
207
|
-
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
217
|
+
FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3158"></a>Changes For Version 1.6.2 (September 13, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="methodname">expandTree()</code> and
|
208
218
|
<code class="methodname">collapseTree()</code> methods for the
|
209
219
|
<code class="classname">FXFoldingList</code> class were incorrectly identified
|
210
220
|
as <code class="methodname">expandFolding()</code> and
|
@@ -218,7 +228,7 @@
|
|
218
228
|
Bug #5591</a>). Now it does.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXGradientBar</code> class was not supported
|
219
229
|
(see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=5746&group_id=300&atid=1223" target="_top">RubyForge
|
220
230
|
Bug #5746</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.14 and
|
221
|
-
FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
231
|
+
FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3216"></a>Changes For Version 1.4.7 (September 13, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="methodname">children</code> instance method for the
|
222
232
|
<code class="classname">FXWindow</code> class always returned an array of
|
223
233
|
<code class="classname">FXWindow</code> instances, even if the actual types
|
224
234
|
should have been instances of subclasses of
|
@@ -239,7 +249,7 @@
|
|
239
249
|
Bug #5591</a>). Now it does.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXGradientBar</code> class was not supported
|
240
250
|
(see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=5746&group_id=300&atid=1223" target="_top">RubyForge
|
241
251
|
Bug #5746</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.34 and
|
242
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
252
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3301"></a>Changes For Version 1.6.1 (July 21, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The message data sent along for the
|
243
253
|
<code class="constant">SEL_INSERTED</code>, <code class="constant">SEL_DELETED</code>
|
244
254
|
and <code class="constant">SEL_REPLACED</code> messages from an a
|
245
255
|
<code class="classname">FXText</code> widget to its target was not being
|
@@ -274,7 +284,7 @@
|
|
274
284
|
the sole means for loading FXRuby. Such programs should instead
|
275
285
|
use:</p><pre class="programlisting">require 'fox16'</pre><p>which will work
|
276
286
|
for either gem based or non-gem based installations.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.8 and
|
277
|
-
FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
287
|
+
FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3398"></a>Changes For Version 1.6.0 (May 29, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the first release of FXRuby compatible with FOX version
|
278
288
|
1.6. One of the most signficant changes for FOX 1.6 has been the
|
279
289
|
addition of Unicode support; all FOX widgets and internal string
|
280
290
|
processing routines are now Unicode aware. For a comprehensive
|
@@ -300,7 +310,7 @@
|
|
300
310
|
Bug #4342</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">dilbert.rb</code> example program was broken
|
301
311
|
due to a change in the Dilbert.com web site structure (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=4597&group_id=300&atid=1223" target="_top">RubyForge
|
302
312
|
Bug #4597</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.5 and
|
303
|
-
FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
313
|
+
FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3492"></a>Changes For Version 1.4.6 (April 26, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>FXRuby would not compile properly on some x86-64 systems (see
|
304
314
|
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=3729&group_id=300&atid=1223" target="_top">RubyForge
|
305
315
|
Bug #3729</a>). This error has been corrected. Thanks to Javier
|
306
316
|
Goizueta for initially reporting this problem, and especially to
|
@@ -326,7 +336,7 @@
|
|
326
336
|
<code class="constant">SEL_COMMAND</code> message type (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=4255&group_id=300&atid=1223" target="_top">RubyForge
|
327
337
|
Bug #4255</a>). This error has been corrected. Thanks to Gerard
|
328
338
|
Menochet for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.29 and
|
329
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
339
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3571"></a>Changes For Version 1.4.5 (April 10, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="classname">FXTextField</code> class was not properly
|
330
340
|
responding to the <code class="constant">ID_INSERT_STRING</code> command (see
|
331
341
|
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=3320&group_id=300&atid=1223" target="_top">RubyForge
|
332
342
|
Bug #3320</a>). This error has been corrected. Thanks to Uwe Hartl
|
@@ -369,7 +379,7 @@
|
|
369
379
|
third argument, but this wasn't working properly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=4005&group_id=300&atid=1223" target="_top">RubyForge
|
370
380
|
Bug #4005</a>). This error has been corrected. Thanks to Mark
|
371
381
|
Volkman for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.29 and
|
372
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
382
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3692"></a>Changes For Version 1.4.4 (January 21, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The build instructions for Unix platforms had not been updated
|
373
383
|
recently and as such contained some errors (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=3014&group_id=300&atid=1223" target="_top">RubyForge
|
374
384
|
Bug #3014</a>). These errors have been corrected. Thanks to Dave
|
375
385
|
Burns for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">extendSelection</code> method for the
|
@@ -392,7 +402,7 @@
|
|
392
402
|
RDoc documentation for the <code class="classname">FXTable</code> class. All
|
393
403
|
of these problems have been corrected. Thanks to _blackdog for
|
394
404
|
reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.29 and
|
395
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
405
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3756"></a>Changes For Version 1.4.3 (November 7, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="constant">TOGGLEBUTTON_KEEPSTATE</code> option for the
|
396
406
|
<code class="classname">FXToggleButton</code> class was not documented (see
|
397
407
|
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=2286&group_id=300&atid=1223" target="_top">RubyForge
|
398
408
|
Bug #2286</a>). This oversight has been corrected. Thanks to Tim
|
@@ -427,7 +437,7 @@
|
|
427
437
|
been fixed, and the documentation for
|
428
438
|
<code class="methodname">makePositionVisible</code> has been updated
|
429
439
|
accordingly. Thanks to Ralf Jonas for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.21 and
|
430
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
440
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3841"></a>Changes For Version 1.4.2 (August 22, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Due to a bug in the implementation, the
|
431
441
|
<code class="methodname">checked?</code> method for the
|
432
442
|
<code class="classname">FXCheckButton</code> class always returned
|
433
443
|
<code class="constant">false</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1852&group_id=300&atid=1223" target="_top">RubyForge
|
@@ -454,7 +464,7 @@
|
|
454
464
|
<code class="classname">FXFileStream</code> class were broken (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=2275&group_id=300&atid=1223" target="_top">RubyForge
|
455
465
|
Bug #2275</a>). This problem has been corrected. Thanks to Gonzalo
|
456
466
|
Garramuno for reporting this problem.</p></li><li style="list-style-type: disc"><p>Merged in all of the fixes for FXRuby 1.2.6.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.17 and
|
457
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
467
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3932"></a>Changes For Version 1.4.1 (August 20, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the second release of FXRuby which is compatible with
|
458
468
|
FOX 1.4, and as such should be considered an "unstable" release. For a
|
459
469
|
history of the changes made during the FOX 1.3 and 1.4 development,
|
460
470
|
see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.com/news.html" target="_top">News</a>
|
@@ -463,11 +473,11 @@
|
|
463
473
|
feature, and were still looking at <code class="constant">fox12</code>. This
|
464
474
|
has been corrected.</p></li><li style="list-style-type: disc"><p>A number of minor problems were corrected for the Windows build
|
465
475
|
of FXRuby.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.17 and
|
466
|
-
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
476
|
+
FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3960"></a>Changes For Version 1.4.0 (August 19, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the first release of FXRuby which is compatible with FOX
|
467
477
|
1.4, and as such should be considered an "unstable" release. For a
|
468
478
|
history of the changes made during the FOX 1.3 and 1.4 development,
|
469
479
|
see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.com/news.html" target="_top">News</a>
|
470
|
-
page at the FOX Web site.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
480
|
+
page at the FOX Web site.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3970"></a>Changes For Version 1.2.6 (April 15, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Some additional problems related to calling the
|
471
481
|
<code class="methodname">setTableSize</code> method for an
|
472
482
|
<code class="classname">FXTable</code> were discovered (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1597&group_id=300&atid=1223" target="_top">RubyForge
|
473
483
|
Bug #1597</a>). This problem has been corrected. Thanks to Joel
|
@@ -515,7 +525,7 @@
|
|
515
525
|
to be unavailable as well (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1771&group_id=300&atid=1223" target="_top">RubyForge
|
516
526
|
Bug #1771</a>). This error has been corrected. Thanks to Jannis
|
517
527
|
Pohlmann for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.16 and
|
518
|
-
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
528
|
+
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4106"></a>Changes For Version 1.2.5 (March 1, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The change made for FXRuby version 1.2.4 regarding garbage
|
519
529
|
collection for table items corrected only one of the problems
|
520
530
|
described in <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1445&group_id=300&atid=1223" target="_top">RubyForge
|
521
531
|
Bug #1445</a>; There was still a problem related to the
|
@@ -545,7 +555,7 @@
|
|
545
555
|
<code class="methodname">selectRange</code> method under the hood (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1562&group_id=300&atid=1223" target="_top">RubyForge
|
546
556
|
Bug #1562</a>). Thanks to Joel VanderWerf for this
|
547
557
|
suggestion.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.13 and
|
548
|
-
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
558
|
+
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4191"></a>Changes For Version 1.2.4 (February 23, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Due to a change in some of the internal Ruby C APIs, a
|
549
559
|
compile-time error for FXRuby was introduced in some of the Ruby 1.8.2
|
550
560
|
preview releases (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1039&group_id=300&atid=1223" target="_top">RubyForge
|
551
561
|
Bug #1039</a>). One should not see any compile-time errors when
|
@@ -595,7 +605,7 @@
|
|
595
605
|
<code class="classname">FXTable</code> class (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1426&group_id=300&atid=1226" target="_top">RubyForge
|
596
606
|
Feature Request #1295</a>). Thanks to Brett Hallett for this
|
597
607
|
suggestion.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.13 and
|
598
|
-
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
608
|
+
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4294"></a>Changes For Version 1.2.3 (January 22, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Since group boxes containing radio buttons no longer enforce the
|
599
609
|
radio behavior of radio buttons (i.e. keeping only one radio button
|
600
610
|
selected at a time), some of the example programs were no longer
|
601
611
|
working as desired (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=751&group_id=300&atid=1223" target="_top">RubyForge
|
@@ -658,7 +668,7 @@
|
|
658
668
|
documented incorrectly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&aid=1325&group_id=300&atid=1223" target="_top">RubyForge
|
659
669
|
Bug #1325</a>). These have been corrected. Thanks to Karl El-Koura
|
660
670
|
for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.13 and
|
661
|
-
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
671
|
+
FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4466"></a>Changes For Version 1.2.2 (October 1, 2004)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>In order to avoid versioning problems when dealing with a mix of
|
662
672
|
applications based on either FXRuby 1.0 or 1.2, the feature name for
|
663
673
|
FXRuby has been changed from "fox" to "fox12". For most application
|
664
674
|
developers, this means that you will need to modify the source code
|
@@ -666,7 +676,7 @@
|
|
666
676
|
changes should be required for legacy applications targeted at FXRuby
|
667
677
|
1.0.</p></li><li style="list-style-type: disc"><p>Made a number of updates to the documentation, to reflect API
|
668
678
|
changes for FXRuby 1.2.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.9 and
|
669
|
-
FXScintilla version 1.61.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
679
|
+
FXScintilla version 1.61.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4483"></a>Changes For Version 1.2a2 (July 10, 2004)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the second "alpha" release of FXRuby 1.2. This release
|
670
680
|
should be compatible with any FOX library version 1.2; it is not
|
671
681
|
compatible with any previous FOX library versions. As this is an alpha
|
672
682
|
release, users should expect a certain amount of instability, bugs,
|
@@ -708,7 +718,7 @@
|
|
708
718
|
or JPEG image support built-in (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&aid=986180&group_id=20243&atid=120243" target="_top">SourceForge
|
709
719
|
Bug #986180</a>). This has been fixed. Thanks to Bil Bas for
|
710
720
|
reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.7 and
|
711
|
-
FXScintilla version 1.61.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
721
|
+
FXScintilla version 1.61.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4592"></a>Changes For Version 1.2a1 (June 28, 2004)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the first "alpha" release of FXRuby 1.2. This release
|
712
722
|
should be compatible with any FOX library version 1.2; it is not
|
713
723
|
compatible with any previous FOX library versions. As this is an alpha
|
714
724
|
release, users should expect a certain amount of instability, bugs,
|
data/doc/differences.html
CHANGED
@@ -12,14 +12,14 @@
|
|
12
12
|
Similarly, functions that would return an <span class="type">FXString</span> will instead
|
13
13
|
return a Ruby string. For functions that would normally accept a
|
14
14
|
<code class="constant">NULL</code> or empty string argument, just pass
|
15
|
-
<code class="constant">nil</code> or an empty string ("").</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
15
|
+
<code class="constant">nil</code> or an empty string ("").</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4887"></a>Functions that expect arrays of objects</h2></div></div></div><p>One common pattern in FOX member function argument lists is to
|
16
16
|
expect a pointer to an array of values, followed by an integer indicating
|
17
17
|
the number of values in the array. This of course isn't necessary in Ruby,
|
18
18
|
where <code class="classname">Array</code> objects "know" their lengths. As a
|
19
19
|
result, functions such as
|
20
20
|
<code class="methodname">FXWindow::acquireClipboard()</code>, whose C++
|
21
21
|
declaration looks like this:</p><pre class="programlisting">FXbool acquireClipboard(const FXDragType *types, FXuint numTypes);</pre><p>are called from Ruby code by passing in a single
|
22
|
-
<code class="classname">Array</code> argument, e.g.</p><pre class="programlisting">myWindow.acquireClipboard(typesArray)</pre></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
22
|
+
<code class="classname">Array</code> argument, e.g.</p><pre class="programlisting">myWindow.acquireClipboard(typesArray)</pre></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4907"></a>Functions that return values by reference</h2></div></div></div><p>Many FOX methods take advantage of the C++ language feature of
|
23
23
|
returning values by reference. For example, the
|
24
24
|
<code class="methodname">getCursorPos()</code> member function for class
|
25
25
|
<code class="classname">FXWindow</code> has the declaration:</p><pre class="programlisting">FXint getCursorPos(FXint& x, FXint& y, FXint& buttons) const;</pre><p>which indicates that the function takes references to three integers
|
@@ -65,7 +65,7 @@ if (window->getCursorPosition(x, y, buttons))
|
|
65
65
|
y)</code></td><td>Returns the translated coordinates as an array [x,
|
66
66
|
y]</td></tr><tr><td><code class="methodname">FXWindow#translateCoordinatesTo(window, x,
|
67
67
|
y)</code></td><td>Returns the translated coordinates as an array [x,
|
68
|
-
y]</td></tr></tbody></table></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
68
|
+
y]</td></tr></tbody></table></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5197"></a>Iterators</h2></div></div></div><p>Several classes have been extended with an
|
69
69
|
<code class="methodname">each</code> method to provide Ruby-style iterators.
|
70
70
|
These classes include <code class="classname">FXComboBox</code>,
|
71
71
|
<code class="classname">FXGLGroup</code>, <code class="classname">FXHeader</code>,
|
@@ -83,7 +83,7 @@ if (window->getCursorPosition(x, y, buttons))
|
|
83
83
|
puts "text for this item = #{itemText}"
|
84
84
|
}</pre><p>The following table shows the block parameters for each of these
|
85
85
|
classes' iterators:</p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th align="center">Class</th><th align="center">Block Parameters</th></tr></thead><tbody><tr><td><code class="classname">FXComboBox</code></td><td>the item text (a string) and user data</td></tr><tr><td><code class="classname">FXGLGroup</code></td><td>an <code class="classname">FXGLObject</code> instance</td></tr><tr><td><code class="classname">FXHeader</code></td><td>an <code class="classname">FXHeaderItem</code> instance</td></tr><tr><td><code class="classname">FXIconList</code></td><td>an <code class="classname">FXIconItem</code> instance</td></tr><tr><td><code class="classname">FXList</code></td><td>an <code class="classname">FXListItem</code> instance</td></tr><tr><td><code class="classname">FXListBox</code></td><td>the item text (a string), icon (an
|
86
|
-
<code class="classname">FXIcon</code> instance) and user data</td></tr><tr><td><code class="classname">FXTreeItem</code></td><td>an <code class="classname">FXTreeItem</code> instance</td></tr><tr><td><code class="classname">FXTreeList</code></td><td>an <code class="classname">FXTreeItem</code> instance</td></tr><tr><td><code class="classname">FXTreeListBox</code></td><td>an <code class="classname">FXTreeItem</code> instance</td></tr></tbody></table></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
86
|
+
<code class="classname">FXIcon</code> instance) and user data</td></tr><tr><td><code class="classname">FXTreeItem</code></td><td>an <code class="classname">FXTreeItem</code> instance</td></tr><tr><td><code class="classname">FXTreeList</code></td><td>an <code class="classname">FXTreeItem</code> instance</td></tr><tr><td><code class="classname">FXTreeListBox</code></td><td>an <code class="classname">FXTreeItem</code> instance</td></tr></tbody></table></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5341"></a>Attribute Accessors</h2></div></div></div><p>FOX strictly handles access to all object attributes through member
|
87
87
|
functions, e.g. <code class="methodname">setBackgroundColor</code> and
|
88
88
|
<code class="methodname">getBackgroundColor</code> or
|
89
89
|
<code class="methodname">setText</code> and <code class="methodname">getText</code>.
|
@@ -96,7 +96,7 @@ if (window->getCursorPosition(x, y, buttons))
|
|
96
96
|
<code class="methodname">backgroundColor</code>, respectively.</p><p>In many cases these aliases allow you to write more compact and
|
97
97
|
legible code. For example, consider this code snippet:</p><pre class="programlisting">aLabel.setText(aLabel.getText() + " (modified)")</pre><p>Now consider a different code snippet, using the aliased accessor
|
98
98
|
method names:</p><pre class="programlisting">aLabel.text += " (modified)"</pre><p>While these two are functionally equivalent, the latter is a bit
|
99
|
-
easier to read and understand at first glance.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
99
|
+
easier to read and understand at first glance.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5380"></a>Message Passing</h2></div></div></div><p>FOX message maps are implemented as static C++ class members. With
|
100
100
|
FXRuby, you just associate messages with message handlers in the class
|
101
101
|
<code class="methodname">initialize</code> method using the
|
102
102
|
<code class="methodname">FXMAPFUNC()</code>,
|
@@ -121,14 +121,14 @@ if (window->getCursorPosition(x, y, buttons))
|
|
121
121
|
well's <code class="methodname">getRGBA()</code> member function to retrieve its
|
122
122
|
color. Similarly, if you get a <code class="constant">SEL_COMMAND</code> message
|
123
123
|
from a tree list, call its <code class="methodname">getCurrentItem()</code>
|
124
|
-
method to find out which item was selected.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
124
|
+
method to find out which item was selected.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5429"></a>Catching Operating System Signals</h2></div></div></div><p>The <code class="methodname">FXApp#addSignal</code> and
|
125
125
|
<code class="methodname">FXApp#removeSignal</code> methods have been enhanced to
|
126
126
|
accept either a string or integer as their first argument. If it's a
|
127
127
|
string (e.g. "SIGINT" or just "INT") the code will determine the
|
128
128
|
corresponding signal number for you (similar to the standard Ruby
|
129
129
|
library's <code class="methodname">Process.kill</code> module method). For
|
130
130
|
examples of how to use this, see the <code class="filename">datatarget.rb</code> or
|
131
|
-
<code class="filename">imageviewer.rb</code> example programs.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
131
|
+
<code class="filename">imageviewer.rb</code> example programs.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5449"></a>Support for Multithreaded Applications</h2></div></div></div><p>There is some support for multithreaded FXRuby applications, but
|
132
132
|
it's not wonderful. The current implementation does what is also done in
|
133
133
|
Ruby/GTK; it turns over some idle processing time to the Ruby thread
|
134
134
|
scheduler to let other threads do their thing. As I learn more about
|
@@ -145,7 +145,7 @@ if (window->getCursorPosition(x, y, buttons))
|
|
145
145
|
also disable the threads support completely by calling
|
146
146
|
<code class="methodname">FXApp#threadsEnabled=false</code> (and subsequently
|
147
147
|
re-enable it with
|
148
|
-
<code class="methodname">FXApp#threadsEnabled=true</code>).</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
148
|
+
<code class="methodname">FXApp#threadsEnabled=true</code>).</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5474"></a>Keyword-Style Arguments</h2></div></div></div><p>FXRuby 1.6.5 introduced preliminary, experimental support for using
|
149
149
|
keyword-style arguments in FXRuby method calls. The current implementation
|
150
150
|
of this feature only works for class constructors (i.e. the "new" class
|
151
151
|
methods), but the intent is to gradually extend this feature so that it
|
@@ -181,7 +181,7 @@ if (window->getCursorPosition(x, y, buttons))
|
|
181
181
|
arguments scheme (or it's intended to be, at any rate). What that means is
|
182
182
|
that you can immediately start making use of this feature in your existing
|
183
183
|
code, even if you don't have time to update all of the method calls to use
|
184
|
-
keyword arguments.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
184
|
+
keyword arguments.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5515"></a>Debugging Tricks</h2></div></div></div><p>As a debugging tool, you can optionally catch exceptions raised in
|
185
185
|
message handlers. To turn on this feature, call the
|
186
186
|
<code class="methodname">setIgnoreExceptions(true)</code> module method. When
|
187
187
|
this is enabled, any exceptions raised in message handler functions will
|
data/doc/implementation.html
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Appendix E. Implementation</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="library.html" title="Appendix D. The FXRuby Standard Library"><link rel="next" href="apes02.html" title="Object Life Cycles and Garbage Collection"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="library.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="apes02.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="implementation"></a>Appendix E. Implementation</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="implementation.html#
|
3
|
+
<title>Appendix E. Implementation</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="library.html" title="Appendix D. The FXRuby Standard Library"><link rel="next" href="apes02.html" title="Object Life Cycles and Garbage Collection"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix E. Implementation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="library.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="apes02.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="implementation"></a>Appendix E. Implementation</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="implementation.html#d0e5666">Code Generation</a></span></dt><dt><span class="section"><a href="apes02.html">Object Life Cycles and Garbage Collection</a></span></dt><dd><dl><dt><span class="section"><a href="apes02.html#d0e5704">GL Objects</a></span></dt></dl></dd><dt><span class="section"><a href="apes03.html">Virtual Functions</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5666"></a>Code Generation</h2></div></div></div><p>The development and maintenance of FXRuby would be almost impossible
|
4
4
|
without the help of Dave Beazley's excellent
|
5
5
|
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.swig.org" target="_top">SWIG</a>. The complete set of SWIG
|
6
6
|
interface files used to generate FXRuby is included in the standard
|
data/doc/library.html
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Appendix D. The FXRuby Standard Library</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"><link rel="next" href="implementation.html" title="Appendix E. Implementation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. The FXRuby Standard Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="differences.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="implementation.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="library"></a>Appendix D. The FXRuby Standard Library</h2></div></div></div><p>While the majority of FXRuby is in fact implemented by an extension module, some parts are provided instead by "pure Ruby" code. This section describes the classes and modules available in the FXRuby standard library.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
3
|
+
<title>Appendix D. The FXRuby Standard Library</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"><link rel="next" href="implementation.html" title="Appendix E. Implementation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix D. The FXRuby Standard Library</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="differences.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="implementation.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="library"></a>Appendix D. The FXRuby Standard Library</h2></div></div></div><p>While the majority of FXRuby is in fact implemented by an extension module, some parts are provided instead by "pure Ruby" code. This section describes the classes and modules available in the FXRuby standard library.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5528"></a>Undoable Commands</h2></div></div></div><p>The <code class="filename">fox16/undolist.rb</code> file provides the <code class="classname">FXCommand</code> and <code class="classname">FXUndoList</code> classes. These serve the same purpose as the <code class="classname">FXCommand</code> and <code class="classname">FXUndoList</code> classes from the standard FOX distribution, but they're implemented entirely in Ruby.</p><p>For a complete description of these classes and how to use them, see the RD documentation in <code class="filename">fox16/undolist.rb</code>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5553"></a>Aliases</h2></div></div></div><p>The <code class="filename">fox16/aliases.rb</code> implements most of the accessor-style aliases for methods. This file is loaded automatically when you </p><pre class="programlisting">require 'fox16'</pre><p> and so you should never need to load it directly.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5564"></a>Color Names</h2></div></div></div><p>The <code class="filename">fox16/colors.rb</code> file, contributed by Jeff
|
4
4
|
Heard, provides a bunch of predefined color values (based on the standard
|
5
5
|
X11 color names). You can use these color constants anywhere that FOX
|
6
6
|
expects an RGB color value, e.g.</p><pre class="programlisting">dc = FXDCWindow.new(drawable, ev)
|
7
7
|
dc.foreground = FXColor::MistyRose # instead of FXRGB(255, 228, 225)
|
8
|
-
dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</pre></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
8
|
+
dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</pre></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5574"></a>OpenGL Shapes</h2></div></div></div><p>The <code class="filename">fox16/glshapes.rb</code> library provides Ruby
|
9
9
|
implementations of a number of basic 3-D shapes (all derived from the
|
10
10
|
built-in <code class="classname">FXGLShape</code> class) that can be used with
|
11
11
|
the <code class="classname">FXGLViewer</code>. Several of these shapes are used
|
12
12
|
in the <code class="filename">glviewer.rb</code> example program. These shapes
|
13
13
|
were originally implemented in C++ and wrapped using SWIG, but they are
|
14
14
|
straightforward enough to implement in Ruby so they were moved out to
|
15
|
-
this library instead.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
15
|
+
this library instead.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5591"></a>Iterators</h2></div></div></div><p>The <code class="filename">fox16/iterators.rb</code> library just adds an
|
16
16
|
<code class="methodname">each</code> instance method for the <code class="classname">
|
17
17
|
FXComboBox</code>, <code class="classname">FXGLGroup</code>, <code class="classname">
|
18
18
|
FXHeader</code>, <code class="classname">FXIconList</code>, <code class="classname">
|
@@ -21,10 +21,10 @@ dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</pre><
|
|
21
21
|
FXTreeList</code> and <code class="classname">FXTreeListBox</code> classes,
|
22
22
|
so that you can iterate over their members in a Ruby-friendly way. It
|
23
23
|
also mixes the <code class="classname">Enumerable</code> module into each of
|
24
|
-
these classes.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
24
|
+
these classes.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5635"></a>Key Codes</h2></div></div></div><p>The <code class="filename">fox16/keys.rb</code> library file defines all of the
|
25
25
|
key codes (e.g. <code class="constant">KEY_space</code>) that might show up in the
|
26
26
|
code field of an <code class="classname">FXEvent</code> instance. This file is
|
27
27
|
loaded automatically when you
|
28
28
|
</p><pre class="programlisting">require 'fox16'</pre><p> and
|
29
29
|
so you should never need to load it
|
30
|
-
directly.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
30
|
+
directly.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5652"></a>Calendar Widget</h2></div></div></div><p>The <code class="filename">fox16/calendar.rb</code> library file provides the <code class="classname">FXCalendar</code> widget, contributed by David Naseby.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="differences.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="implementation.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Appendix C. Differences between FOX and FXRuby </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix E. Implementation</td></tr></table></div></body></html>
|
data/doc/opengl.html
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
widgets, and FXRuby in turn provides interfaces to those classes. By
|
6
6
|
combining FXRuby with the OpenGL interface for Ruby (described below) you
|
7
7
|
can develop very powerful 3-D graphics applications. This chapter gives
|
8
|
-
you the information you'll need to get started.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
8
|
+
you the information you'll need to get started.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4630"></a>What is OpenGL?</h2></div></div></div><p>OpenGL is a platform-independent API for 2D and 3D graphics. The
|
9
9
|
home page is <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.opengl.org" target="_top">http://www.opengl.org</a>. Because it's a
|
10
10
|
fairly open standard, highly optimized OpenGL drivers are available for
|
11
|
-
most operating systems (including Windows and Linux).</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
11
|
+
most operating systems (including Windows and Linux).</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4638"></a>OpenGL Extensions for Ruby</h2></div></div></div><p>This extension module, developed by Yoshiyuki Kusano, provides
|
12
12
|
interfaces to not only the basic OpenGL API, but also the GLU and GLUT
|
13
13
|
APIs. As of this writing, the currently released version is 0.32d and is
|
14
14
|
available for download from <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www2.giganet.net/~yoshi/rbogl-0.32b.tgz" target="_top">http://www2.giganet.net/~yoshi/rbogl-0.32d.tgz</a>.
|
@@ -25,7 +25,7 @@
|
|
25
25
|
extensions by typing:</p><pre class="screen">$ <span><strong class="command">make site-install</strong></span></pre><p>Please note that I'm not the maintainer of this particular Ruby
|
26
26
|
extension, so I can't really accept bug fixes for it. But if you're having
|
27
27
|
trouble integrating Ruby/OpenGL with FXRuby, let me know and we'll see
|
28
|
-
what we can do.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
28
|
+
what we can do.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4693"></a>The FXGLVisual Class</h2></div></div></div><p>An <code class="classname">FXGLVisual</code> object describes the
|
29
29
|
capabilities of an <code class="classname">FXGLCanvas</code> or
|
30
30
|
<code class="classname">FXGLViewer</code> window. Typically, an X server supports
|
31
31
|
many different visuals with varying capabilities, but the ones with
|
@@ -58,13 +58,13 @@ end</pre><p>Some <code class="classname">FXGLVisual</code> object must be associ
|
|
58
58
|
separate <code class="classname">FXGLVisual</code> object for each window. For
|
59
59
|
most applications, you can just construct a single
|
60
60
|
<code class="classname">FXGLVisual</code> object that's shared among all the
|
61
|
-
OpenGL windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
61
|
+
OpenGL windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4752"></a>The FXGLCanvas Class</h2></div></div></div><p>The <code class="classname">FXGLCanvas</code> widget provides a very simple
|
62
62
|
OpenGL-capable window with minimal functionality. To construct an
|
63
63
|
<code class="classname">FXGLCanvas</code>, call
|
64
64
|
<code class="methodname">FXGLCanvas.new</code>:</p><pre class="programlisting">glCanvas = FXGLCanvas.new(parent, vis)</pre><p>The first argument to <code class="methodname">FXGLCanvas.new</code> is the
|
65
65
|
parent (container) widget and the second argument is the
|
66
66
|
<code class="classname">FXGLVisual</code> that should be used for this
|
67
|
-
window.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
67
|
+
window.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4776"></a>OpenGL objects and the FXGLViewer</h2></div></div></div><p>The <code class="classname">FXGLViewer</code> widget provides a higher-level
|
68
68
|
OpenGL-capable window with a lot of built-in functionality. To construct
|
69
69
|
an <code class="classname">FXGLViewer</code>, call
|
70
70
|
<code class="methodname">FXGLViewer.new</code>:</p><pre class="programlisting">glViewer = FXGLViewer.new(parent, vis)</pre><p>The first argument to <code class="methodname">FXGLViewer.new</code> is the
|
data/doc/pt02.html
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Part II. Appendices</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="prev" href="changes.html" title="Chapter 10. Change History"><link rel="next" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. Appendices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="
|
3
|
+
<title>Part II. Appendices</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="prev" href="changes.html" title="Chapter 10. Change History"><link rel="next" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part II. Appendices</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e4615"></a>Part II. Appendices</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="appendix"><a href="opengl.html">A. Using OpenGL with FXRuby</a></span></dt><dt><span class="appendix"><a href="scintilla.html">B. Using Scintilla with FXRuby</a></span></dt><dt><span class="appendix"><a href="differences.html">C. Differences between FOX and FXRuby</a></span></dt><dt><span class="appendix"><a href="library.html">D. The FXRuby Standard Library</a></span></dt><dt><span class="appendix"><a href="implementation.html">E. Implementation</a></span></dt><dd><dl><dt><span class="section"><a href="implementation.html#d0e5666">Code Generation</a></span></dt><dt><span class="section"><a href="apes02.html">Object Life Cycles and Garbage Collection</a></span></dt><dd><dl><dt><span class="section"><a href="apes02.html#d0e5704">GL Objects</a></span></dt></dl></dd><dt><span class="section"><a href="apes03.html">Virtual Functions</a></span></dt></dl></dd><dt><span class="appendix"><a href="subversion.html">F. Getting the Sources from Subversion</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="changes.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="opengl.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. Change History </td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. Using OpenGL with FXRuby</td></tr></table></div></body></html>
|
data/doc/scintilla.html
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
<html><head>
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
3
|
-
<title>Appendix B. Using Scintilla with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="differences.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla"></a>Appendix B. Using Scintilla with FXRuby</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
3
|
+
<title>Appendix B. Using Scintilla with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part II. Appendices"><link rel="prev" href="opengl.html" title="Appendix A. Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix C. Differences between FOX and FXRuby"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a> </td><th width="60%" align="center">Part II. Appendices</th><td width="20%" align="right"> <a accesskey="n" href="differences.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla"></a>Appendix B. Using Scintilla with FXRuby</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4803"></a>What is Scintilla?</h2></div></div></div><p><a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.scintilla.org" target="_top">Scintilla</a> is a free
|
4
4
|
source code editing component developed by Neil Hodgson for the Win32 and
|
5
|
-
GTK+ platforms.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
5
|
+
GTK+ platforms.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4810"></a>What is FXScintilla?</h2></div></div></div><p><a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://savannah.gnu.org/projects/fxscintilla" target="_top">FXScintilla </a> is
|
6
6
|
a FOX widget that wraps around the Scintilla component, or, if you wish,
|
7
7
|
the FOX "port" of Scintilla. Until recently it was developed by Gilles Filippini,
|
8
8
|
and as of this writing the latest release is available for download from
|
9
|
-
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz" target="_top">http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
9
|
+
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz" target="_top">http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4820"></a>Compiling FXScintilla</h2></div></div></div><p>The FXScintilla distribution contains everything you need to build
|
10
10
|
the FXScintilla widget and begin using it in your C++-based FOX
|
11
11
|
applications. That is to say, you do not have to separately download the
|
12
12
|
Scintilla source code from the Scintilla home page. When you unpack the
|
@@ -17,7 +17,7 @@
|
|
17
17
|
other open-source software (like FOX) from the source code. The
|
18
18
|
<code class="filename">INSTALL</code> file in the top-level directory should
|
19
19
|
provide enough instruction for you to build and install FXScintilla for
|
20
|
-
either Unix or Microsoft Windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
20
|
+
either Unix or Microsoft Windows.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4833"></a>Enabling FXScintilla Support in FXRuby</h2></div></div></div><p>The next step is to build a version of FXRuby (from its source code)
|
21
21
|
with the optional FXScintilla support enabled. If you're working on a Unix
|
22
22
|
or Linux system and have installed FXScintilla in one of the standard
|
23
23
|
installation directories (e.g. under <code class="filename">/usr/include</code> or <code class="filename">/usr/local/include</code>), the regular FXRuby build
|
data/doc/subversion.html
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://svnbook.red-bean.com/" target="_top">book</a>.</p><p>You're also going to need to have a working <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.swig.org/" target="_top">SWIG</a> installation so that you can
|
15
15
|
generate the C++ source files from the SWIG interface files. As of this
|
16
16
|
writing, FXRuby requires SWIG version 1.3.22; later versions of SWIG will
|
17
|
-
not work, nor will versions earlier than about 1.3.15.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="
|
17
|
+
not work, nor will versions earlier than about 1.3.15.</p><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e5849"></a>Checking out the code</h2></div></div></div><p>To check out the development version (i.e. the trunk) for FXRuby,
|
18
18
|
type the following command:</p><pre class="screen">svn checkout svn://rubyforge.org/var/svn/fxruby/trunk/FXRuby</pre><p>Next, you'll need to use SWIG to generate the C++ source code from
|
19
19
|
the SWIG interface files. To do that, type:</p><pre class="screen">rake swig</pre><p>At this point, you should be ready to change to the top-level
|
20
20
|
directory and go through the normal build and installation process, as
|
data/examples/charts.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'fox16'
|
2
|
+
require 'google_chart'
|
3
|
+
require 'open-uri'
|
4
|
+
|
5
|
+
include Fox
|
6
|
+
|
7
|
+
class ChartsWindow < FXMainWindow
|
8
|
+
def initialize(app)
|
9
|
+
super(app, "Google Charts Demo", :width => 650, :height => 250)
|
10
|
+
FXImageFrame.new(self, nil, :opts => LAYOUT_FILL) do |f|
|
11
|
+
f.image = FXPNGImage.new(app, open(bar_chart.to_escaped_url, "rb").read)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def bar_chart
|
16
|
+
GoogleChart::BarChart.new('600x200', 'My Chart', :vertical) do |bc|
|
17
|
+
bc.data 'Trend 1', [5,4,3,1,3,5], '0000ff'
|
18
|
+
bc.data 'Trend 2', [1,2,3,4,5,6], 'ff0000'
|
19
|
+
bc.data 'Trend 3', [6,5,4,4,5,6], '00ff00'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def create
|
24
|
+
super
|
25
|
+
show(PLACEMENT_SCREEN)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
if __FILE__ == $0
|
30
|
+
FXApp.new do |app|
|
31
|
+
ChartsWindow.new(app)
|
32
|
+
app.create
|
33
|
+
app.run
|
34
|
+
end
|
35
|
+
end
|
data/ext/fox16/FXRuby.cpp
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
***********************************************************************/
|
22
22
|
|
23
23
|
/***********************************************************************
|
24
|
-
* $Id: FXRuby.cpp
|
24
|
+
* $Id: FXRuby.cpp 2885 2008-06-24 01:16:30Z lyle $
|
25
25
|
***********************************************************************/
|
26
26
|
|
27
27
|
#ifdef _MSC_VER
|
@@ -547,6 +547,9 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
547
547
|
else if(sender->isMemberOf(FXMETACLASS(FXArrowButton))){
|
548
548
|
if(type==SEL_COMMAND) return to_ruby(static_cast<FXuint>(reinterpret_cast<FXuval>(ptr)));
|
549
549
|
}
|
550
|
+
else if(sender->isMemberOf(FXMETACLASS(FXPicker))){
|
551
|
+
if(type==SEL_COMMAND || type==SEL_CHANGED) return to_ruby(reinterpret_cast<FXPoint*>(ptr));
|
552
|
+
}
|
550
553
|
else if(sender->isMemberOf(FXMETACLASS(FXButton))){
|
551
554
|
if(type==SEL_CLICKED ||
|
552
555
|
type==SEL_DOUBLECLICKED ||
|
@@ -756,9 +759,6 @@ static VALUE FXRbConvertMessageData(FXObject* sender,FXObject* recv,FXSelector s
|
|
756
759
|
else if(sender->isMemberOf(FXMETACLASS(FXOptionMenu))){
|
757
760
|
if(type==SEL_COMMAND) return to_ruby(static_cast<FXint>(reinterpret_cast<FXival>(ptr)));
|
758
761
|
}
|
759
|
-
else if(sender->isMemberOf(FXMETACLASS(FXPicker))){
|
760
|
-
if(type==SEL_COMMAND || type==SEL_CHANGED) return to_ruby(reinterpret_cast<FXPoint*>(ptr));
|
761
|
-
}
|
762
762
|
else if(sender->isMemberOf(FXMETACLASS(FXRadioButton))){
|
763
763
|
if(type==SEL_COMMAND) return to_ruby(static_cast<FXuchar>(reinterpret_cast<FXuval>(ptr)));
|
764
764
|
}
|
@@ -1024,10 +1024,7 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
1024
1024
|
/* Ignore */
|
1025
1025
|
break;
|
1026
1026
|
}
|
1027
|
-
|
1028
|
-
SWIG_Ruby_ConvertPtr(value,&ptr,FXRbTypeQuery("FXEvent *"),1);
|
1029
|
-
return ptr;
|
1030
|
-
}
|
1027
|
+
|
1031
1028
|
if(type==SEL_COMMAND){
|
1032
1029
|
// Handle FXText-specific messages
|
1033
1030
|
if(obj->isMemberOf(FXMETACLASS(FXText))){
|
@@ -1121,7 +1118,7 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
1121
1118
|
}
|
1122
1119
|
else if(obj->isMemberOf(FXMETACLASS(FXMenuRadio))){
|
1123
1120
|
return reinterpret_cast<void*>(static_cast<FXuval>(RTEST(value) ? 1 : 0));
|
1124
|
-
|
1121
|
+
}
|
1125
1122
|
else if(obj->isMemberOf(FXMETACLASS(FXMenuCommand))){
|
1126
1123
|
return reinterpret_cast<void*>(static_cast<FXuval>(RTEST(value) ? 1 : 0));
|
1127
1124
|
}
|
@@ -1164,6 +1161,20 @@ void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE value){
|
|
1164
1161
|
}
|
1165
1162
|
}
|
1166
1163
|
}
|
1164
|
+
|
1165
|
+
if(type==SEL_CHANGED){
|
1166
|
+
if(obj->isMemberOf(FXMETACLASS(FXPicker))){
|
1167
|
+
SWIG_Ruby_ConvertPtr(value,&ptr,FXRbTypeQuery("FXPoint *"),1);
|
1168
|
+
return ptr;
|
1169
|
+
}
|
1170
|
+
return 0;
|
1171
|
+
}
|
1172
|
+
|
1173
|
+
if(type==SEL_DRAGGED){
|
1174
|
+
SWIG_Ruby_ConvertPtr(value,&ptr,FXRbTypeQuery("FXEvent *"),1);
|
1175
|
+
return ptr;
|
1176
|
+
}
|
1177
|
+
|
1167
1178
|
// Pass through as-is
|
1168
1179
|
return reinterpret_cast<void*>(value);
|
1169
1180
|
}
|
@@ -2031,6 +2042,7 @@ extern "C" void Init_fox16(void) {
|
|
2031
2042
|
REQUIRE("fox16/execute_nonmodal");
|
2032
2043
|
REQUIRE("fox16/version");
|
2033
2044
|
REQUIRE("fox16/kwargs");
|
2045
|
+
REQUIRE("fox16/exceptions_for_fxerror");
|
2034
2046
|
|
2035
2047
|
id_assocs=rb_intern("@assocs");
|
2036
2048
|
id_backtrace=rb_intern("backtrace");
|
data/lib/fox16/core.rb
CHANGED
@@ -237,6 +237,8 @@ module Fox
|
|
237
237
|
def to_s
|
238
238
|
to_a.to_s
|
239
239
|
end
|
240
|
+
|
241
|
+
def inspect; to_a.inspect; end
|
240
242
|
end
|
241
243
|
|
242
244
|
class FXVec2f
|
@@ -245,6 +247,8 @@ module Fox
|
|
245
247
|
|
246
248
|
# Convert to string
|
247
249
|
def to_s; to_a.to_s; end
|
250
|
+
|
251
|
+
def inspect; to_a.inspect; end
|
248
252
|
end
|
249
253
|
|
250
254
|
class FXVec3d
|
@@ -253,6 +257,8 @@ module Fox
|
|
253
257
|
|
254
258
|
# Convert to string
|
255
259
|
def to_s; to_a.to_s; end
|
260
|
+
|
261
|
+
def inspect; to_a.inspect; end
|
256
262
|
end
|
257
263
|
|
258
264
|
class FXVec3f
|
@@ -261,6 +267,8 @@ module Fox
|
|
261
267
|
|
262
268
|
# Convert to string
|
263
269
|
def to_s; to_a.to_s; end
|
270
|
+
|
271
|
+
def inspect; to_a.inspect; end
|
264
272
|
end
|
265
273
|
|
266
274
|
class FXVec4d
|
@@ -269,6 +277,8 @@ module Fox
|
|
269
277
|
|
270
278
|
# Convert to string
|
271
279
|
def to_s; to_a.to_s; end
|
280
|
+
|
281
|
+
def inspect; to_a.inspect; end
|
272
282
|
end
|
273
283
|
|
274
284
|
class FXVec4f
|
@@ -277,6 +287,8 @@ module Fox
|
|
277
287
|
|
278
288
|
# Convert to string
|
279
289
|
def to_s; to_a.to_s; end
|
290
|
+
|
291
|
+
def inspect; to_a.inspect; end
|
280
292
|
end
|
281
293
|
|
282
294
|
class FXWindow
|
@@ -573,6 +585,13 @@ module Fox
|
|
573
585
|
self.checkState == MAYBE
|
574
586
|
end
|
575
587
|
end
|
588
|
+
|
589
|
+
class FXObject
|
590
|
+
require 'enumerator'
|
591
|
+
def self.subclasses
|
592
|
+
ObjectSpace.enum_for(:each_object, class << self; self; end).to_a
|
593
|
+
end
|
594
|
+
end
|
576
595
|
|
577
596
|
class FXDC
|
578
597
|
#
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Fox
|
2
|
+
FXWindow.subclasses.each do |klass|
|
3
|
+
klass.send(:alias_method, :create_without_parent_created_check, :create)
|
4
|
+
klass.send(:define_method, :create) do
|
5
|
+
unless parent.created?
|
6
|
+
raise RuntimeError, "trying to create window before creating parent window"
|
7
|
+
end
|
8
|
+
if owner && !owner.created?
|
9
|
+
raise RuntimeError, "trying to create window before creating owner window"
|
10
|
+
end
|
11
|
+
if visual.nil?
|
12
|
+
raise RuntimeError, "trying to create window without a visual"
|
13
|
+
end
|
14
|
+
create_without_parent_created_check
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/fox16/version.rb
CHANGED
data/tests/TC_FXButton.rb
CHANGED
@@ -69,4 +69,10 @@ class TC_FXButton < TestCase
|
|
69
69
|
@button.state = STATE_UNCHECKED
|
70
70
|
assert_equal(STATE_UNCHECKED, @button.state)
|
71
71
|
end
|
72
|
+
|
73
|
+
def test_create_for_non_created_parent_window_raises_runtime_error
|
74
|
+
assert_raise RuntimeError do
|
75
|
+
@button.create
|
76
|
+
end
|
77
|
+
end
|
72
78
|
end
|
data/tests/TC_FXDCPrint.rb
CHANGED
@@ -64,14 +64,14 @@ public
|
|
64
64
|
def test_beginPrint
|
65
65
|
@dc.beginPrint(printJob)
|
66
66
|
@dc.endPrint
|
67
|
-
assert_same_file_contents("blankpage.ps", printJob.name)
|
67
|
+
assert_same_file_contents(File.join(File.dirname(__FILE__), "blankpage.ps"), printJob.name)
|
68
68
|
end
|
69
69
|
|
70
70
|
def test_beginPrint_with_block
|
71
71
|
@dc.beginPrint(printJob) do |theDC|
|
72
72
|
assert_same(@dc, theDC)
|
73
73
|
end
|
74
|
-
assert_same_file_contents("blankpage.ps", printJob.name)
|
74
|
+
assert_same_file_contents(File.join(File.dirname(__FILE__), "blankpage.ps"), printJob.name)
|
75
75
|
end
|
76
76
|
|
77
77
|
def test_beginPage
|
data/tests/TC_FXMainWindow.rb
CHANGED
data/tests/TC_FXQuatf.rb
CHANGED
@@ -27,10 +27,6 @@ class TC_FXQuatf < Test::Unit::TestCase
|
|
27
27
|
adjusted = @quat.adjust!
|
28
28
|
assert_same(@quat, adjusted)
|
29
29
|
end
|
30
|
-
def test_setAxisAngle
|
31
|
-
end
|
32
|
-
def test_getAxisAngle
|
33
|
-
end
|
34
30
|
def test_setRollPitchYaw
|
35
31
|
roll, pitch, yaw = 0.0, 0.0, 0.0
|
36
32
|
@quat.setRollPitchYaw(roll, pitch, yaw)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fxruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lyle Johnson
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-07-03 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -98,6 +98,7 @@ files:
|
|
98
98
|
- examples/bounce.rb
|
99
99
|
- examples/browser.rb
|
100
100
|
- examples/button.rb
|
101
|
+
- examples/charts.rb
|
101
102
|
- examples/custom_table_item.rb
|
102
103
|
- examples/datatarget.rb
|
103
104
|
- examples/dctest.rb
|
@@ -213,6 +214,7 @@ files:
|
|
213
214
|
- lib/fox16/colors.rb
|
214
215
|
- lib/fox16/core.rb
|
215
216
|
- lib/fox16/dict.rb
|
217
|
+
- lib/fox16/exceptions_for_fxerror.rb
|
216
218
|
- lib/fox16/execute_nonmodal.rb
|
217
219
|
- lib/fox16/glgroup.rb
|
218
220
|
- lib/fox16/glshapes.rb
|
@@ -795,7 +797,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
795
797
|
requirements:
|
796
798
|
- FOX library version 1.6.0 or higher
|
797
799
|
rubyforge_project:
|
798
|
-
rubygems_version: 1.
|
800
|
+
rubygems_version: 1.2.0
|
799
801
|
signing_key:
|
800
802
|
specification_version: 2
|
801
803
|
summary: FXRuby is the Ruby binding to the FOX GUI toolkit.
|