fxruby 1.6.6 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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&nbsp;B.&nbsp;Using Scintilla with FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Appendices"><link rel="prev" href="opengl.html" title="Appendix&nbsp;A.&nbsp;Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix&nbsp;C.&nbsp;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&nbsp;B.&nbsp;Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Appendices</th><td width="20%" align="right">&nbsp;<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&nbsp;B.&nbsp;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="d0e4391"></a>What is Scintilla?</h2></div></div></div><p><a href="http://www.scintilla.org" target="_top">Scintilla</a> is a free
3
+ <title>Appendix&nbsp;B.&nbsp;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&nbsp;II.&nbsp;Appendices"><link rel="prev" href="opengl.html" title="Appendix&nbsp;A.&nbsp;Using OpenGL with FXRuby"><link rel="next" href="differences.html" title="Appendix&nbsp;C.&nbsp;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&nbsp;B.&nbsp;Using Scintilla with FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="opengl.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Appendices</th><td width="20%" align="right">&nbsp;<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&nbsp;B.&nbsp;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="d0e4398"></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="d0e4398"></a>What is FXScintilla?</h2></div></div></div><p><a href="http://savannah.gnu.org/projects/fxscintilla" target="_top">FXScintilla </a> is
5
+ GTK+ platforms.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4405"></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. It is being developed by Gilles Filippini,
8
8
  and as of this writing the latest release is available for download from
9
- <a href="http://savannah.nongnu.org/download/fxscintilla/fxscintilla-1.63.tar.gz" target="_top">http://savannah.nongnu.org/download/fxscintilla/fxscintilla-1.63.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4408"></a>Compiling FXScintilla</h2></div></div></div><p>The FXScintilla distribution contains everything you need to build
9
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://savannah.nongnu.org/download/fxscintilla/fxscintilla-1.63.tar.gz" target="_top">http://savannah.nongnu.org/download/fxscintilla/fxscintilla-1.63.tar.gz</a>.</p></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4415"></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="d0e4421"></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)
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="d0e4428"></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
@@ -1,20 +1,20 @@
1
1
  <html><head>
2
2
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3
- <title>Appendix&nbsp;F.&nbsp;Getting the Sources from Subversion</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt02.html" title="Part&nbsp;II.&nbsp;Appendices"><link rel="prev" 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">Appendix&nbsp;F.&nbsp;Getting the Sources from Subversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apes03.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Appendices</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="subversion"></a>Appendix&nbsp;F.&nbsp;Getting the Sources from Subversion</h2></div></div></div><p>All of the source code for FXRuby is available for anonymous,
4
- read-only <a href="http://subversion.tigris.org/" target="_top">Subversion</a>
3
+ <title>Appendix&nbsp;F.&nbsp;Getting the Sources from Subversion</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&nbsp;II.&nbsp;Appendices"><link rel="prev" 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">Appendix&nbsp;F.&nbsp;Getting the Sources from Subversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apes03.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;II.&nbsp;Appendices</th><td width="20%" align="right">&nbsp;</td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="subversion"></a>Appendix&nbsp;F.&nbsp;Getting the Sources from Subversion</h2></div></div></div><p>All of the source code for FXRuby is available for anonymous,
4
+ read-only <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://subversion.tigris.org/" target="_top">Subversion</a>
5
5
  access. This chapter describes how to check out the sources for the
6
6
  development release of FXRuby and then build FXRuby from those sources. The
7
7
  information in this chapter builds on the basic Subversion instructions
8
- provided for any RubyForge hosted project, and specifically those <a href="http://rubyforge.org/scm/?group_id=300" target="_top">instructions</a> for the
8
+ provided for any RubyForge hosted project, and specifically those <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/scm/?group_id=300" target="_top">instructions</a> for the
9
9
  FXRuby project hosted at RubyForge.</p><p>There are some prerequisites. Obviously, you're going to need to have
10
10
  some kind of Subversion client installed on your system and have a clue
11
11
  about how to use it to check out code from a remote repository. Please do
12
12
  not send me questions about how to install or use Subversion. A good
13
- starting point for documentation about Subversion is the <a href="http://subversion.tigris.org/" target="_top">home page</a>, and especially the
14
- <a href="http://svnbook.red-bean.com/" target="_top">book</a>.</p><p>You're also going to need to have a working <a href="http://www.swig.org/" target="_top">SWIG</a> installation so that you can
13
+ starting point for documentation about Subversion is the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://subversion.tigris.org/" target="_top">home page</a>, and especially the
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="d0e5437"></a>Checking out the code</h2></div></div></div><p>To check out the development version (i.e. the trunk) for FXRuby,
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="d0e5444"></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/doc/todo.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>Chapter&nbsp;9.&nbsp;To-do list</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part&nbsp;I.&nbsp;The Basics"><link rel="prev" href="events.html" title="Chapter&nbsp;8.&nbsp;FXRuby's Message-Target System"><link rel="next" href="infosources.html" title="Chapter&nbsp;10.&nbsp;Other Sources of Information"></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&nbsp;9.&nbsp;To-do list</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="events.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="infosources.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="todo"></a>Chapter&nbsp;9.&nbsp;To-do list</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>I haven't yet paid much attention to some of the more esoteric
3
+ <title>Chapter&nbsp;9.&nbsp;To-do list</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&nbsp;I.&nbsp;The Basics"><link rel="prev" href="events.html" title="Chapter&nbsp;8.&nbsp;FXRuby's Message-Target System"><link rel="next" href="infosources.html" title="Chapter&nbsp;10.&nbsp;Other Sources of Information"></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&nbsp;9.&nbsp;To-do list</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="events.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="infosources.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="todo"></a>Chapter&nbsp;9.&nbsp;To-do list</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>I haven't yet paid much attention to some of the more esoteric
4
4
  issues such as multithreaded applications, or interactions with other
5
5
  popular Ruby extensions. FXRuby seems to cooperate well with Ruby's
6
6
  thread scheduler on all platforms, although threading support for the
@@ -19,15 +19,15 @@
19
19
  and then "wrap" it).</p></li><li style="list-style-type: disc"><p>There is no native Mac OS X port of FOX, but many people are
20
20
  successfully building and running FOX and FXRuby applications on Mac OS
21
21
  X using Apple's X11 server implementation. For more information,
22
- please see the <a href="http://www.fox-toolkit.net/cgi-bin/wiki.pl?Mac_OS_X" target="_top">Mac OS X</a>
23
- page at the <a href="http://www.fox-toolkit.net" target="_top">FOX Community Wiki</a>
22
+ please see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.net/cgi-bin/wiki.pl?Mac_OS_X" target="_top">Mac OS X</a>
23
+ page at the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.net" target="_top">FOX Community Wiki</a>
24
24
  site.</p></li><li style="list-style-type: disc"><p>Need to investigate how well FXRuby-based applications work with
25
- <a href="http://exerb.sourceforge.jp/index.en.html" target="_top">exerb</a>,
25
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://exerb.sourceforge.jp/index.en.html" target="_top">exerb</a>,
26
26
  and perhaps add a section to the documentation about how to do this.</p></li><li style="list-style-type: disc"><p>As of this writing, FOX doesn't provide any support for
27
27
  internationalization (I18N) or Unicode text and so FXRuby doesn't
28
28
  either. It is possible that FOX 1.2 will include some I18N support (see
29
- the <a href="http://www.fox-toolkit.net/cgi-bin/wiki.pl?FAQ" target="_top">FAQ</a>
30
- at the <a href="http://www.fox-toolkit.net" target="_top">FOX Community Wiki</a>
29
+ the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.net/cgi-bin/wiki.pl?FAQ" target="_top">FAQ</a>
30
+ at the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.net" target="_top">FOX Community Wiki</a>
31
31
  site), and if so, appropriate changes will be made to FXRuby at that
32
32
  time.</p></li><li style="list-style-type: disc"><p>FOX's list-like widgets (such as <code class="classname">FXList</code>)
33
33
  behave differently from Ruby container objects (such as
data/doc/tutorial1.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>Chapter&nbsp;3.&nbsp;Hello, World!</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part&nbsp;I.&nbsp;The Basics"><link rel="prev" href="gems.html" title="Chapter&nbsp;2.&nbsp;Installing from Gems"><link rel="next" href="ch03s02.html" title="Better living through buttons"></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&nbsp;3.&nbsp;Hello, World!</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gems.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="tutorial1"></a>Chapter&nbsp;3.&nbsp;Hello, World!</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="tutorial1.html#d0e597">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></div><p>There are a few things common to all programs that use FXRuby, and the
3
+ <title>Chapter&nbsp;3.&nbsp;Hello, World!</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&nbsp;I.&nbsp;The Basics"><link rel="prev" href="gems.html" title="Chapter&nbsp;2.&nbsp;Installing from Gems"><link rel="next" href="ch03s02.html" title="Better living through buttons"></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&nbsp;3.&nbsp;Hello, World!</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="gems.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="tutorial1"></a>Chapter&nbsp;3.&nbsp;Hello, World!</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="tutorial1.html#d0e597">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></div><p>There are a few things common to all programs that use FXRuby, and the
4
4
  purpose of this chapter is to help you get familiar with those. We'll do
5
5
  this by developing a short program that simply displays a button containing
6
6
  the text, "Hello, World!". For reference, this program is included in the
data/doc/unicode.html CHANGED
@@ -1,9 +1,9 @@
1
1
  <html><head>
2
2
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3
- <title>Chapter&nbsp;6.&nbsp;Unicode and FXRuby</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part&nbsp;I.&nbsp;The Basics"><link rel="prev" href="ch05s03.html" title="Putting It All Together"><link rel="next" href="examples.html" title="Chapter&nbsp;7.&nbsp;Examples"></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&nbsp;6.&nbsp;Unicode and FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="examples.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="unicode"></a>Chapter&nbsp;6.&nbsp;Unicode and FXRuby</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="unicode.html#d0e1608">Basic Application</a></span></dt></dl></div><p>Beginning with version 1.6, FOX and FXRuby provide support for the
3
+ <title>Chapter&nbsp;6.&nbsp;Unicode and 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="pt01.html" title="Part&nbsp;I.&nbsp;The Basics"><link rel="prev" href="ch05s03.html" title="Putting It All Together"><link rel="next" href="examples.html" title="Chapter&nbsp;7.&nbsp;Examples"></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&nbsp;6.&nbsp;Unicode and FXRuby</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="examples.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="unicode"></a>Chapter&nbsp;6.&nbsp;Unicode and FXRuby</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="unicode.html#d0e1608">Basic Application</a></span></dt></dl></div><p>Beginning with version 1.6, FOX and FXRuby provide support for the
4
4
  display of Unicode strings in FOX widgets. For some excellent discussion
5
- about how to use Unicode in Ruby, I recommend Patrick Hall's article, <a href="http://ruphus.com/blog/2005/06/11/ruby-and-unicode/" target="_top">"Ruby and
6
- Unicode"</a> and why the lucky stiff's follow-up article, <a href="http://redhanded.hobix.com/inspect/closingInOnUnicodeWithJcode.html" target="_top">"Closing
5
+ about how to use Unicode in Ruby, I recommend Patrick Hall's article, <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://ruphus.com/blog/2005/06/11/ruby-and-unicode/" target="_top">"Ruby and
6
+ Unicode"</a> and why the lucky stiff's follow-up article, <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://redhanded.hobix.com/inspect/closingInOnUnicodeWithJcode.html" target="_top">"Closing
7
7
  in on Unicode with Jcode"</a>. Here, we're going to make use of the
8
8
  ideas in those articles to give a quick demonstration of how to use FXRuby's
9
9
  support for Unicode.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e1608"></a>Basic Application</h2></div></div></div><p>Here's the original version of our "Hello, World!" program:</p><pre class="programlisting">require 'fox16'
data/examples/groupbox.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'fox16'
4
+ require 'fox16/kwargs'
4
5
 
5
6
  include Fox
6
7
 
@@ -22,7 +23,7 @@ class GroupWindow < FXMainWindow
22
23
 
23
24
  def initialize(app)
24
25
  # Call the base class version of initialize
25
- super(app, "Group Box Test", nil, nil, DECOR_ALL, 0, 0, 0, 0)
26
+ super(app, "Group Box Test", :opts => DECOR_ALL)
26
27
 
27
28
  # Some icons we'll use here and there
28
29
  doc = getIcon("minidoc.png")
@@ -102,8 +103,7 @@ class GroupWindow < FXMainWindow
102
103
  FXMenuTitle.new(menubar, "&Help", nil, helpmenu, LAYOUT_RIGHT)
103
104
 
104
105
  @popupmenu = FXMenuPane.new(self)
105
- poptext = FXTextField.new(@popupmenu, 10, nil, 0,
106
- FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_TOP, 0, 0, 0, 0)
106
+ poptext = FXTextField.new(@popupmenu, 10, :opts => FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_TOP)
107
107
  poptext.setText("Popup with text")
108
108
 
109
109
  # Status bar
@@ -129,8 +129,7 @@ class GroupWindow < FXMainWindow
129
129
  testlabel.setFont(FXFont.new(getApp(), "helvetica", 24, FONTWEIGHT_BOLD,
130
130
  FONTSLANT_ITALIC, FONTENCODING_DEFAULT))
131
131
  FXButton.new(group1, "Small &Button", nil, nil, 0, FRAME_RAISED|FRAME_THICK)
132
- FXButton.new(group1, "Big Fat Wide Button\nComprising\nthree lines", nil,
133
- nil, 0, FRAME_RAISED|FRAME_THICK)
132
+ FXButton.new(group1, "Big Fat Wide Button\nComprising\nthree lines", :opts => FRAME_RAISED|FRAME_THICK)
134
133
  FXToggleButton.new(group1,
135
134
  "C&losed\tTooltip for closed\tHelp for closed",
136
135
  "O&pen\nState\tTooltip for open\tHelp for open",
@@ -138,94 +137,66 @@ class GroupWindow < FXMainWindow
138
137
  ICON_BEFORE_TEXT|JUSTIFY_LEFT|FRAME_RAISED|FRAME_THICK)
139
138
 
140
139
  pop = FXPopup.new(self)
141
-
142
- FXOption.new(pop, "First\tTip #1\tHelp first", nil, nil, 0,
143
- JUSTIFY_HZ_APART|ICON_AFTER_TEXT).connect(SEL_COMMAND) {
144
- FXMessageBox.information(self, MBOX_OK, "Option Menu", "Chose option 1")
145
- }
146
- FXOption.new(pop, "Second\tTip #2\tHelp second", nil, nil, 0,
147
- JUSTIFY_HZ_APART|ICON_AFTER_TEXT).connect(SEL_COMMAND) {
148
- FXMessageBox.information(self, MBOX_OK, "Option Menu", "Chose option 2")
149
- }
150
- FXOption.new(pop, "Third\tTip #3\tHelp third", nil, nil, 0,
151
- JUSTIFY_HZ_APART|ICON_AFTER_TEXT).connect(SEL_COMMAND) {
152
- FXMessageBox.information(self, MBOX_OK, "Option Menu", "Chose option 3")
153
- }
154
- FXOption.new(pop, "Fourth\tTip #4\tHelp fourth", nil, nil, 0,
155
- JUSTIFY_HZ_APART|ICON_AFTER_TEXT).connect(SEL_COMMAND) {
156
- FXMessageBox.information(self, MBOX_OK, "Option Menu", "Chose option 4")
157
- }
140
+ numbers =%w{first second third fourth}
141
+ 0.upto(3) do |idx|
142
+ FXOption.new(pop, "#{numbers[idx].capitalize}\tTip #{idx+1}\tHelp #{numbers[idx]}", :opts => JUSTIFY_HZ_APART|ICON_AFTER_TEXT).connect(SEL_COMMAND) {
143
+ FXMessageBox.information(self, MBOX_OK, "Option Menu", "Chose option #{idx+1}")
144
+ }
145
+ end
158
146
 
159
147
  FXOptionMenu.new(group1, pop,
160
148
  LAYOUT_TOP|FRAME_RAISED|FRAME_THICK|JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
161
149
 
162
150
  FXLabel.new(group1, "Te&kstje", nil, LAYOUT_TOP|JUSTIFY_LEFT)
163
151
  FXButton.new(group1,
164
- "Add an `&&' by doubling\tTooltip\tHelp text for status", nil,
165
- nil, 0,LAYOUT_TOP|FRAME_RAISED|FRAME_THICK)
166
- FXButton.new(group1, "Te&kstje", nil, nil, 0,
167
- LAYOUT_TOP|FRAME_RAISED|FRAME_THICK).connect(SEL_COMMAND) {
152
+ "Add an `&&' by doubling\tTooltip\tHelp text for status", :opts => LAYOUT_TOP|FRAME_RAISED|FRAME_THICK)
153
+ FXButton.new(group1, "Te&kstje", :opts => LAYOUT_TOP|FRAME_RAISED|FRAME_THICK).connect(SEL_COMMAND) {
168
154
  x, y, buttons = getRoot().getCursorPosition()
169
155
  @popupmenu.popup(nil, x, y)
170
156
  }
171
157
 
172
- FXMenuButton.new(group1, "&Menu", nil, filemenu,
173
- (MENUBUTTON_ATTACH_BOTH|MENUBUTTON_DOWN|JUSTIFY_HZ_APART|LAYOUT_TOP|
174
- FRAME_RAISED|FRAME_THICK|ICON_AFTER_TEXT))
175
- FXMenuButton.new(group1, "&Menu", nil, filemenu,
176
- MENUBUTTON_UP|LAYOUT_TOP|FRAME_RAISED|FRAME_THICK|ICON_AFTER_TEXT)
158
+ FXMenuButton.new(group1, "&Menu", :opts => MENUBUTTON_ATTACH_BOTH|MENUBUTTON_DOWN|JUSTIFY_HZ_APART|LAYOUT_TOP|FRAME_RAISED|FRAME_THICK|ICON_AFTER_TEXT)
159
+ FXMenuButton.new(group1, "&Menu", nil, filemenu, MENUBUTTON_UP|LAYOUT_TOP|FRAME_RAISED|FRAME_THICK|ICON_AFTER_TEXT)
177
160
 
178
161
  coolpop = FXPopup.new(self, POPUP_HORIZONTAL)
179
- FXButton.new(coolpop, "A\tTipA", nil, nil, 0,
180
- FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 30, 30)
181
- FXButton.new(coolpop, "B\tTipB", nil, nil, 0,
182
- FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 30, 30)
183
- FXButton.new(coolpop, "C\tTipC", nil, nil, 0,
184
- FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 30, 30)
185
- FXButton.new(coolpop, "D\tTipD", nil, nil, 0,
186
- FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 30, 30)
162
+ FXButton.new(coolpop, "A\tTipA",
163
+ :opts => FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, :width => 30, :height => 30)
164
+ FXButton.new(coolpop, "B\tTipB",
165
+ :opts => FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, :width => 30, :height => 30)
166
+ FXButton.new(coolpop, "C\tTipC",
167
+ :opts => FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, :width => 30, :height => 30)
168
+ FXButton.new(coolpop, "D\tTipD",
169
+ :opts => FRAME_THICK|FRAME_RAISED|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, :width => 30, :height => 30)
187
170
  FXMenuButton.new(group1, "&S\tSideways", nil, coolpop,
188
171
  (MENUBUTTON_ATTACH_BOTH|MENUBUTTON_LEFT|MENUBUTTON_NOARROWS|LAYOUT_TOP|
189
- FRAME_RAISED|FRAME_THICK|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT), 0, 0, 30, 30)
172
+ FRAME_RAISED|FRAME_THICK|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT), :width => 30, :height => 30)
190
173
 
191
174
  matrix = FXMatrix.new(group1, 3,
192
175
  FRAME_RAISED|LAYOUT_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
193
176
 
194
- FXButton.new(matrix, "A", nil, nil, 0,
195
- FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_FILL_ROW)
196
- FXButton.new(matrix, "&Wide button", nil, nil, 0,
197
- FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X)
198
- FXButton.new(matrix, "A", nil, nil, 0,
199
- FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X)
177
+ FXButton.new(matrix, "A", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_FILL_ROW)
178
+ FXButton.new(matrix, "&Wide button", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X)
179
+ FXButton.new(matrix, "A", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X)
200
180
 
201
- FXButton.new(matrix, "BBBB", nil, nil, 0, (FRAME_RAISED|FRAME_THICK|
202
- LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_FILL_ROW|LAYOUT_FILL_COLUMN))
203
- FXButton.new(matrix, "B", nil, nil, 0,
204
- FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN)
205
- FXButton.new(matrix, "BB", nil, nil, 0,
206
- FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN)
181
+ FXButton.new(matrix, "BBBB", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_FILL_ROW|LAYOUT_FILL_COLUMN)
182
+ FXButton.new(matrix, "B", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN)
183
+ FXButton.new(matrix, "BB", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN)
207
184
 
208
- FXButton.new(matrix, "C", nil, nil, 0,
209
- FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_CENTER_X|LAYOUT_FILL_ROW)
210
- FXButton.new(matrix, "&wide", nil, nil, 0, FRAME_RAISED|FRAME_THICK)
211
- FXButton.new(matrix, "CC", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT)
185
+ FXButton.new(matrix, "C", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_CENTER_X|LAYOUT_FILL_ROW)
186
+ FXButton.new(matrix, "&wide", :opts => FRAME_RAISED|FRAME_THICK)
187
+ FXButton.new(matrix, "CC", :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT)
212
188
 
213
189
  FXLabel.new(group2, "No Arrow")
214
- FXSlider.new(group2, nil, 0,
215
- LAYOUT_TOP|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|SLIDER_HORIZONTAL,
216
- 0, 0, 200, 30)
190
+ FXSlider.new(group2, :opts => LAYOUT_TOP|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|SLIDER_HORIZONTAL, :width => 200, :height => 30)
217
191
 
218
192
  FXLabel.new(group2, "Up Arrow")
219
- FXSlider.new(group2, nil, 0, (LAYOUT_TOP|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|
220
- SLIDER_HORIZONTAL|SLIDER_ARROW_UP), 0, 0, 200, 30)
193
+ FXSlider.new(group2, :opts => LAYOUT_TOP|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|SLIDER_HORIZONTAL|SLIDER_ARROW_UP, :width => 200, :height => 30)
221
194
 
222
195
  FXLabel.new(group2, "Down Arrow")
223
- FXSlider.new(group2, nil, 0, (LAYOUT_TOP|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|
224
- SLIDER_HORIZONTAL|SLIDER_ARROW_DOWN), 0, 0, 200, 30)
196
+ FXSlider.new(group2, :opts => LAYOUT_TOP|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|SLIDER_HORIZONTAL|SLIDER_ARROW_DOWN, :width => 200, :height => 30)
225
197
 
226
198
  FXLabel.new(group2, "Inside Bar")
227
- slider = FXSlider.new(group2, nil, 0, (LAYOUT_TOP|LAYOUT_FILL_X|
228
- LAYOUT_FIX_HEIGHT|SLIDER_HORIZONTAL|SLIDER_INSIDE_BAR), 0, 0, 200, 20)
199
+ slider = FXSlider.new(group2, :opts => LAYOUT_TOP|LAYOUT_FILL_X|LAYOUT_FIX_HEIGHT|SLIDER_HORIZONTAL|SLIDER_INSIDE_BAR, :width => 200, :height => 20)
229
200
  slider.range = 0..3
230
201
 
231
202
  frame = FXHorizontalFrame.new(group2, LAYOUT_FILL_X|LAYOUT_FILL_Y)
@@ -252,8 +223,7 @@ class GroupWindow < FXMainWindow
252
223
  LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_RIGHT)
253
224
 
254
225
  vframe2 = FXVerticalFrame.new(frame, LAYOUT_FILL_X|LAYOUT_FILL_Y)
255
- FXArrowButton.new(vframe2, nil, 0, (LAYOUT_FILL_X|LAYOUT_FILL_Y|
256
- FRAME_RAISED|FRAME_THICK|ARROW_UP|ARROW_TOOLBAR))
226
+ FXArrowButton.new(vframe2, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_UP|ARROW_TOOLBAR)
257
227
  FXArrowButton.new(vframe2, nil, 0, (LAYOUT_FILL_X|LAYOUT_FILL_Y|
258
228
  FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR))
259
229
  FXArrowButton.new(vframe2, nil, 0, (LAYOUT_FILL_X|LAYOUT_FILL_Y|
data/ext/fox16/extconf.rb CHANGED
@@ -6,7 +6,8 @@ require 'mkmf'
6
6
  def find_installed_fox_version
7
7
  stddirs = ["/usr/include/fox-1.6",
8
8
  "/usr/local/include/fox-1.6",
9
- "/sw/include/fox-1.6"]
9
+ "/sw/include/fox-1.6",
10
+ "/opt/local/include/fox-1.6"]
10
11
  usrdirs = []
11
12
  ARGV.each do |arg|
12
13
  if arg =~ /--with-fox-include/
@@ -35,7 +36,8 @@ $autodetected_fxscintilla = false
35
36
  def find_installed_fxscintilla_version
36
37
  stddirs = ["/usr/include/fxscintilla",
37
38
  "/usr/local/include/fxscintilla",
38
- "/sw/include/fxscintilla"]
39
+ "/sw/include/fxscintilla",
40
+ "/opt/local/include/fxscintilla"]
39
41
  usrdirs = []
40
42
  ARGV.each do |arg|
41
43
  if arg =~ /--with-fxscintilla-include/
data/lib/fox16/version.rb CHANGED
@@ -3,7 +3,7 @@ module Fox
3
3
  # Returns the FXRuby version number as a string, e.g. "1.0.19".
4
4
  #
5
5
  def Fox.fxrubyversion
6
- "1.6.6"
6
+ "1.6.7"
7
7
  end
8
8
  end
9
9
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: fxruby
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.6.6
7
- date: 2007-02-10 00:00:00 -06:00
6
+ version: 1.6.7
7
+ date: 2007-03-31 00:00:00 -05:00
8
8
  summary: FXRuby is the Ruby binding to the FOX GUI toolkit.
9
9
  require_paths:
10
10
  - ext/fox16
@@ -103,7 +103,6 @@ files:
103
103
  - doc/images/table.png
104
104
  - doc/images/tutorial1.png
105
105
  - examples/README
106
- - examples/accell.rb
107
106
  - examples/babelfish.rb
108
107
  - examples/bounce.rb
109
108
  - examples/browser.rb
data/examples/accell.rb DELETED
@@ -1,36 +0,0 @@
1
- require 'fox16'
2
-
3
- include Fox
4
-
5
- class MyWindow < FXMainWindow
6
-
7
- include Responder
8
-
9
- ID_SAVE = FXMainWindow::ID_LAST
10
-
11
- def initialize(app)
12
-
13
- super(app, "Window", nil, nil, DECOR_ALL, 0, 0, 200, 100)
14
-
15
- FXMAPFUNC(SEL_COMMAND, MyWindow::ID_SAVE, 'onSave')
16
- accelTable.addAccel(fxparseAccel("Ctrl-S"), self, FXSEL(SEL_COMMAND, MyWindow::ID_SAVE))
17
-
18
- end
19
-
20
- def onSave(sender, selector, data)
21
- puts "save"
22
- end
23
-
24
- def create
25
- super
26
- show(PLACEMENT_SCREEN)
27
- end
28
-
29
- end
30
-
31
- if __FILE__ == $0
32
- application = FXApp.new("Fox", "FXRuby Test")
33
- MyWindow.new(application)
34
- application.create
35
- application.run
36
- end