From a7c65e483b375e52c95017cac418adc7e228db09 Mon Sep 17 00:00:00 2001 From: Lyle Johnson <lyle@lylejohnson.name> Date: Tue, 13 Oct 2009 16:13:03 -0500 Subject: [PATCH] Removed the users_guide subdirectory. In the interest of keeping this as simple as possible, I've extracted the source files for the FXRuby User's Guide into a separate project (fxruby-guide). --- Manifest.txt | 97 - Rakefile | 9 +- users_guide/Makefile | 24 - users_guide/book.xml | 51 - users_guide/bookinfo.xml | 12 - users_guide/build.xml | 296 --- users_guide/changes.xml | 2003 ------------------ users_guide/clipboardtut.xml | 321 --- users_guide/custom-fo.xsl | 10 - users_guide/custom-html.xsl | 17 - users_guide/differences.xml | 566 ----- users_guide/dragdroptut.xml | 803 ------- users_guide/events.xml | 102 - users_guide/examples.xml | 476 ----- users_guide/gems.xml | 158 -- users_guide/goals.xml | 58 - users_guide/images/babelfish.png | Bin 2872 -> 0 bytes users_guide/images/browser.png | Bin 4783 -> 0 bytes users_guide/images/button.png | Bin 10608 -> 0 bytes users_guide/images/call-chain-example.dia | Bin 1045 -> 0 bytes users_guide/images/call-chain-example.png | Bin 2586 -> 0 bytes users_guide/images/colordialog.png | Bin 9837 -> 0 bytes users_guide/images/datatarget.png | Bin 8633 -> 0 bytes users_guide/images/dialog.png | Bin 3041 -> 0 bytes users_guide/images/dilbert.png | Bin 18646 -> 0 bytes users_guide/images/dirlist.png | Bin 4186 -> 0 bytes users_guide/images/dropsite-droprejected.png | Bin 3021 -> 0 bytes users_guide/images/foursplit.png | Bin 3481 -> 0 bytes users_guide/images/gltest.png | Bin 4508 -> 0 bytes users_guide/images/glviewer.png | Bin 14242 -> 0 bytes users_guide/images/groupbox.png | Bin 16557 -> 0 bytes users_guide/images/header.png | Bin 6810 -> 0 bytes users_guide/images/hello-with-button.png | Bin 1862 -> 0 bytes users_guide/images/hello-with-icon-1.png | Bin 44120 -> 0 bytes users_guide/images/hello-with-icon-2.png | Bin 43854 -> 0 bytes users_guide/images/hello-with-icon-3.png | Bin 46872 -> 0 bytes users_guide/images/hello-with-tooltip.png | Bin 2346 -> 0 bytes users_guide/images/hello-without-button.png | Bin 1660 -> 0 bytes users_guide/images/hello.png | Bin 1370 -> 0 bytes users_guide/images/hello2.png | Bin 7806 -> 0 bytes users_guide/images/iconlist-bigicons.png | Bin 17584 -> 0 bytes users_guide/images/iconlist-details.png | Bin 28344 -> 0 bytes users_guide/images/image.png | Bin 9055 -> 0 bytes users_guide/images/imageviewer.png | Bin 17895 -> 0 bytes users_guide/images/inheritance.dia | Bin 927 -> 0 bytes users_guide/images/inheritance.png | Bin 1222 -> 0 bytes users_guide/images/mditest.png | Bin 13699 -> 0 bytes users_guide/images/raabrowser.png | Bin 9965 -> 0 bytes users_guide/images/scribble.png | Bin 4747 -> 0 bytes users_guide/images/shutter.png | Bin 14747 -> 0 bytes users_guide/images/splitter.png | Bin 11721 -> 0 bytes users_guide/images/tabbook.png | Bin 2891 -> 0 bytes users_guide/images/table.png | Bin 10596 -> 0 bytes users_guide/images/tutorial1.png | Bin 1181 -> 0 bytes users_guide/implementation.xml | 117 - users_guide/infosources.xml | 95 - users_guide/layout.xml | 31 - users_guide/library.xml | 61 - users_guide/maintainer.xml | 24 - users_guide/opengl.xml | 151 -- users_guide/preface.xml | 7 - users_guide/scintilla.xml | 79 - users_guide/style.css | 247 --- users_guide/subversion.xml | 45 - users_guide/template.xml | 5 - users_guide/todo.xml | 76 - users_guide/tutorial1.xml | 437 ---- users_guide/unicode.xml | 75 - 68 files changed, 1 insertion(+), 6452 deletions(-) delete mode 100755 users_guide/Makefile delete mode 100755 users_guide/book.xml delete mode 100755 users_guide/bookinfo.xml delete mode 100755 users_guide/build.xml delete mode 100755 users_guide/changes.xml delete mode 100755 users_guide/clipboardtut.xml delete mode 100755 users_guide/custom-fo.xsl delete mode 100755 users_guide/custom-html.xsl delete mode 100755 users_guide/differences.xml delete mode 100755 users_guide/dragdroptut.xml delete mode 100755 users_guide/events.xml delete mode 100755 users_guide/examples.xml delete mode 100755 users_guide/gems.xml delete mode 100755 users_guide/goals.xml delete mode 100755 users_guide/images/babelfish.png delete mode 100755 users_guide/images/browser.png delete mode 100755 users_guide/images/button.png delete mode 100755 users_guide/images/call-chain-example.dia delete mode 100755 users_guide/images/call-chain-example.png delete mode 100755 users_guide/images/colordialog.png delete mode 100755 users_guide/images/datatarget.png delete mode 100755 users_guide/images/dialog.png delete mode 100755 users_guide/images/dilbert.png delete mode 100755 users_guide/images/dirlist.png delete mode 100755 users_guide/images/dropsite-droprejected.png delete mode 100755 users_guide/images/foursplit.png delete mode 100755 users_guide/images/gltest.png delete mode 100755 users_guide/images/glviewer.png delete mode 100755 users_guide/images/groupbox.png delete mode 100755 users_guide/images/header.png delete mode 100755 users_guide/images/hello-with-button.png delete mode 100755 users_guide/images/hello-with-icon-1.png delete mode 100755 users_guide/images/hello-with-icon-2.png delete mode 100755 users_guide/images/hello-with-icon-3.png delete mode 100755 users_guide/images/hello-with-tooltip.png delete mode 100755 users_guide/images/hello-without-button.png delete mode 100755 users_guide/images/hello.png delete mode 100755 users_guide/images/hello2.png delete mode 100755 users_guide/images/iconlist-bigicons.png delete mode 100755 users_guide/images/iconlist-details.png delete mode 100755 users_guide/images/image.png delete mode 100755 users_guide/images/imageviewer.png delete mode 100755 users_guide/images/inheritance.dia delete mode 100755 users_guide/images/inheritance.png delete mode 100755 users_guide/images/mditest.png delete mode 100755 users_guide/images/raabrowser.png delete mode 100755 users_guide/images/scribble.png delete mode 100755 users_guide/images/shutter.png delete mode 100755 users_guide/images/splitter.png delete mode 100755 users_guide/images/tabbook.png delete mode 100755 users_guide/images/table.png delete mode 100755 users_guide/images/tutorial1.png delete mode 100755 users_guide/implementation.xml delete mode 100755 users_guide/infosources.xml delete mode 100755 users_guide/layout.xml delete mode 100755 users_guide/library.xml delete mode 100755 users_guide/maintainer.xml delete mode 100755 users_guide/opengl.xml delete mode 100755 users_guide/preface.xml delete mode 100755 users_guide/scintilla.xml delete mode 100644 users_guide/style.css delete mode 100755 users_guide/subversion.xml delete mode 100755 users_guide/template.xml delete mode 100755 users_guide/todo.xml delete mode 100755 users_guide/tutorial1.xml delete mode 100644 users_guide/unicode.xml diff --git a/Manifest.txt b/Manifest.txt index 2a2775f..7222d30 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -919,100 +919,3 @@ test/stress1.rb test/stress2.rb test/stress3.rb test/testcase.rb -users_guide/Makefile -users_guide/apes02.html -users_guide/apes03.html -users_guide/book.html -users_guide/book.xml -users_guide/bookinfo.xml -users_guide/build.html -users_guide/build.xml -users_guide/ch03s02.html -users_guide/ch03s03.html -users_guide/ch03s04.html -users_guide/ch03s05.html -users_guide/ch04s02.html -users_guide/ch04s03.html -users_guide/ch04s04.html -users_guide/ch05s02.html -users_guide/ch05s03.html -users_guide/changes.html -users_guide/changes.xml -users_guide/clipboardtut.html -users_guide/clipboardtut.xml -users_guide/custom-fo.xsl -users_guide/custom-html.xsl -users_guide/differences.html -users_guide/differences.xml -users_guide/dragdroptut.html -users_guide/dragdroptut.xml -users_guide/events.html -users_guide/events.xml -users_guide/examples.html -users_guide/examples.xml -users_guide/gems.html -users_guide/gems.xml -users_guide/goals.html -users_guide/goals.xml -users_guide/images/babelfish.png -users_guide/images/browser.png -users_guide/images/button.png -users_guide/images/call-chain-example.dia -users_guide/images/call-chain-example.png -users_guide/images/colordialog.png -users_guide/images/datatarget.png -users_guide/images/dialog.png -users_guide/images/dilbert.png -users_guide/images/dirlist.png -users_guide/images/dropsite-droprejected.png -users_guide/images/foursplit.png -users_guide/images/gltest.png -users_guide/images/glviewer.png -users_guide/images/groupbox.png -users_guide/images/header.png -users_guide/images/hello-with-button.png -users_guide/images/hello-with-icon-1.png -users_guide/images/hello-with-icon-2.png -users_guide/images/hello-with-icon-3.png -users_guide/images/hello-with-tooltip.png -users_guide/images/hello-without-button.png -users_guide/images/hello.png -users_guide/images/hello2.png -users_guide/images/iconlist-bigicons.png -users_guide/images/iconlist-details.png -users_guide/images/image.png -users_guide/images/imageviewer.png -users_guide/images/inheritance.dia -users_guide/images/inheritance.png -users_guide/images/mditest.png -users_guide/images/raabrowser.png -users_guide/images/scribble.png -users_guide/images/shutter.png -users_guide/images/splitter.png -users_guide/images/tabbook.png -users_guide/images/table.png -users_guide/images/tutorial1.png -users_guide/implementation.html -users_guide/implementation.xml -users_guide/infosources.html -users_guide/infosources.xml -users_guide/layout.xml -users_guide/library.html -users_guide/library.xml -users_guide/maintainer.xml -users_guide/opengl.html -users_guide/opengl.xml -users_guide/preface.xml -users_guide/pt01.html -users_guide/pt02.html -users_guide/scintilla.html -users_guide/scintilla.xml -users_guide/style.css -users_guide/subversion.html -users_guide/subversion.xml -users_guide/template.xml -users_guide/todo.xml -users_guide/tutorial1.html -users_guide/tutorial1.xml -users_guide/unicode.html -users_guide/unicode.xml diff --git a/Rakefile b/Rakefile index d871ded..dbf51fd 100755 --- a/Rakefile +++ b/Rakefile @@ -37,7 +37,7 @@ task :test => [:compile] # rdoc_files.reject! {|x| x == "ext/fox16" } # Make sure that all of the package contents exist before we try to build the package -#Rake::Task['package'].prerequisites.unshift("swig:swig", "fxruby:guide", "fxruby:setversions", "fxruby:generate_kwargs_lib") +#Rake::Task['package'].prerequisites.unshift("swig:swig", "fxruby:setversions", "fxruby:generate_kwargs_lib") # ... project specific tasks ... @@ -162,13 +162,6 @@ namespace :fxruby do setversions("doap.rdf") end - desc "Generate the user's guide" - task :guide do - Dir.chdir "users_guide" do - system %{make} - end - end - def make_impl Dir.chdir "ext/fox16" do ruby "make_impl.rb" diff --git a/users_guide/Makefile b/users_guide/Makefile deleted file mode 100755 index b4fefeb..0000000 --- a/users_guide/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -######################################################################## -# -# Generate the HTML documents from DocBook sources -# -######################################################################## - -#SAXON = java -jar /Users/lyle/saxon-8.9/saxon8.jar -SAXON = java -jar /Users/lyle/saxon-6.5.5/saxon.jar -HTML_STYLESHEET = custom-html.xsl -#FO_STYLESHEET = custom-fo.xsl -FO_STYLESHEET = /Users/lyle/docbook/docbook5-xsl-1.72.0/fo/docbook.xsl -FOP = /Users/lyle/fop-0.93/fop - -all: html - -html: - $(SAXON) book.xml $(HTML_STYLESHEET) - -pdf: - $(SAXON) book.xml $(FO_STYLESHEET) > book.fo - $(FOP) book.fo book.pdf - -clean: - @rm -f *.html book.fo book.pdf diff --git a/users_guide/book.xml b/users_guide/book.xml deleted file mode 100755 index e36a552..0000000 --- a/users_guide/book.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version='1.0'?> -<!DOCTYPE book - PUBLIC "-//OASIS//DTD DocBook V5.0//EN" - "file:/Users/lyle/docbook/xml/5.0/dtd/docbook.dtd" [ -<!ENTITY bookinfo.xml SYSTEM "bookinfo.xml"> -<!ENTITY build.xml SYSTEM "build.xml"> -<!ENTITY changes.xml SYSTEM "changes.xml"> -<!ENTITY subversion.xml SYSTEM "subversion.xml"> -<!ENTITY differences.xml SYSTEM "differences.xml"> -<!ENTITY clipboardtut.xml SYSTEM "clipboardtut.xml"> -<!ENTITY dragdroptut.xml SYSTEM "dragdroptut.xml"> -<!ENTITY examples.xml SYSTEM "examples.xml"> -<!ENTITY events.xml SYSTEM "events.xml"> -<!ENTITY gems.xml SYSTEM "gems.xml"> -<!ENTITY goals.xml SYSTEM "goals.xml"> -<!ENTITY implementation.xml SYSTEM "implementation.xml"> -<!ENTITY infosources.xml SYSTEM "infosources.xml"> -<!ENTITY layout.xml SYSTEM "layout.xml"> -<!ENTITY library.xml SYSTEM "library.xml"> -<!ENTITY opengl.xml SYSTEM "opengl.xml"> -<!ENTITY scintilla.xml SYSTEM "scintilla.xml"> -<!ENTITY tutorial1.xml SYSTEM "tutorial1.xml"> -<!ENTITY unicode.xml SYSTEM "unicode.xml"> -]> -<book id="book" lang="en" xmlns="http://docbook.org/ns/docbook"> -&bookinfo.xml; -<part label="I"> -<title>The Basics</title> -&goals.xml; -&build.xml; -&gems.xml; -&tutorial1.xml; -&clipboardtut.xml; -&dragdroptut.xml; -&unicode.xml; -&examples.xml; -&events.xml; -<!--&layout.xml;--> -&infosources.xml; -&changes.xml; -</part> -<part label="II"> -<title>Appendices</title> -&opengl.xml; -&scintilla.xml; -&differences.xml; -&library.xml; -&implementation.xml; -&subversion.xml; -</part> -</book> diff --git a/users_guide/bookinfo.xml b/users_guide/bookinfo.xml deleted file mode 100755 index 71bdb04..0000000 --- a/users_guide/bookinfo.xml +++ /dev/null @@ -1,12 +0,0 @@ -<bookinfo> - <title>Developing Graphical User Interfaces with FXRuby</title> - <subtitle>Covers FXRuby Version 1.6</subtitle> - <author> - <surname>Johnson</surname> - <firstname>Lyle</firstname> - </author> - <copyright> - <year>2006</year> - <holder>J. Lyle Johnson</holder> - </copyright> -</bookinfo> diff --git a/users_guide/build.xml b/users_guide/build.xml deleted file mode 100755 index 7eec0f5..0000000 --- a/users_guide/build.xml +++ /dev/null @@ -1,296 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="build"> - <title>Building from Source Code</title> - - <para>This chapter provides instructions for building and installing FXRuby - directly from source, and not using some more direct means (such as - installing a gem, or via some package manager).</para> - - <itemizedlist> - <listitem> - <para>If you're planning to use FXRuby on Windows, with the standard - <ulink url="http://rubyinstaller.rubyforge.org">Ruby Installer for - Windows</ulink>, you may wish to just download the pre-compiled binaries - from the <ulink url="http://rubyforge.org/projects/fxruby">RubyForge - project page</ulink> for FXRuby.</para> - </listitem> - - <listitem> - <para>If you're already using the <ulink - url="http://www.macports.org/">MacPorts</ulink> version of ruby, you may - wish to just install the <filename>rb-fxruby</filename> port.</para> - </listitem> - </itemizedlist> - - <simplesect> - <title>Building From Source on Unix/Linux</title> - - <para>These instructions assume that you've already downloaded, compiled - and installed FOX. Next, you'll need to download the FXRuby source code - tarball and unpack it by typing:</para> - - <screen>$ <command>tar xzf FXRuby-1.6.13.tar.gz</command></screen> - - <para>This will create a new directory called <filename - class="directory">FXRuby-1.6.13</filename>. Change to the top-level - directory and configure the build by typing:</para> - - <screen>$ <command>ruby install.rb config</command></screen> - - <para>By default, the <filename>install.rb</filename> script will look for - the FOX include files and library in the standard <filename - class="directory">/usr/local/include/fox-1.6</filename> and <filename - class="directory">/usr/local/lib</filename> directories, respectively. You - can override these locations by passing a few additional arguments to - <filename>install.rb</filename> during this step, e.g.</para> - - <screen>$ <command>ruby install.rb config -- \ - --with-fox-include=/home/lyle/fox-1.6.32/include \ - --with-fox-lib=/home/lyle/fox-1.6.32/src/.libs</command></screen> - - <para>Once the build has been configured, you can start the build by - typing:</para> - - <screen>$ <command>ruby install.rb setup</command></screen> - - <para>It will take quite awhile to build FXRuby, even on a fast machine, - so this might be a good time to take a coffee break. If you run into - problems during the compilation, please check the <link - linkend="tragedies">list of things that can go wrong</link> for - workarounds for those problems.</para> - - <para>Once it's finished compiling, install FXRuby by typing:</para> - - <screen>$ <command>ruby install.rb install</command></screen> - - <para>As a quick sanity check, to make sure that all is well, you should - probably fire up <filename>irb</filename> and try to import FXRuby:</para> - - <screen>$ <command>irb</command> -irb(main):001:0> <userinput>require 'fox16'</userinput> -true -irb(main):002:0></screen> - - <para>If the import failed (usually with a message along the lines of - "Cannot load library"), check the <link linkend="tragedies">list of things - that can go wrong</link> for known problems. If that still doesn't solve - your problem, drop me an e-mail or ask around on the Ruby newsgroup or - mailing list; it's quite likely that someone else has run into this - problem too. Once you do have a working FXRuby installation, you're ready - to check out the example programs.</para> - </simplesect> - - <simplesect> - <title>Building From Source on Windows (Using Visual C++)</title> - - <para>This section describes how to compile FXRuby using Microsoft Visual - C++, for use with a Ruby that was also compiled using Visual C++.</para> - - <para>This discussion assumes that you've built Ruby using the - instructions and build files distributed with the standard Ruby source - code. To review, you should have started by unpacking the source code - tarball, changing into the top-level source code directory (e.g. <filename - class="directory">C:\ruby-1.8.6</filename>) and then typing:</para> - - <screen>C:\ruby-1.8.6><command>win32\configure</command> -type 'nmake' to make ruby for mswin32. -C:\ruby-1.8.6><command>nmake</command></screen> - - <para>After the compilation finished, you installed Ruby somewhere by - typing, e.g.,</para> - - <screen>C:\ruby-1.8.6><command>nmake DESTDIR=C:\ruby install</command></screen> - - <para>Similarly, I'm assuming that you built the FOX library using the - Developer Studio project files distributed with the standard FOX source - code distribution.</para> - - <para>Now you can configure the FXRuby build by typing:</para> - - <screen>C:\FXRuby-1.6.13><command>ruby install.rb config --make-prog=nmake -- \ - --with-fox-include=C:\fox-1.6.32\include \ - --with-fox-lib=C:\fox-1.6.32\lib</command></screen> - - <para>Once the build has been configured, you can start the build by - typing:</para> - - <screen>C:\FXRuby-1.6.13> <command>ruby install.rb setup</command></screen> - - <para>It will take quite awhile to build FXRuby, even on a fast machine, - so this might be a good time to take a coffee break. Because Visual C++ is - such a strict compiler (usually a good thing), you will probably run into - a few problems with non-ANSI declarations in the Ruby header files. If you - do run into problems during the compilation, just check the next section - for a list of things that could go wrong, and workarounds for those - problems. None of them are showstoppers and none require you to restart - the compile from scratch (just type <command>ruby install.rb - setup</command> to pick up where you left off).</para> - - <para>Once it's finished compiling, install FXRuby by typing:</para> - - <screen>C:\FXRuby-1.6.13> <command>ruby install.rb install</command></screen> - - <para>As a quick sanity check, to make sure that all is well, you should - probably fire up <filename>irb</filename> and try to import FXRuby:</para> - - <screen>C:\FXRuby-1.6.13> <command>irb</command> -irb(main):001:0> <userinput>require 'fox16'</userinput> -true -irb(main):002:0></screen> - - <para>If the import failed (usually with a message along the lines of - "Cannot load library"), check the list of things that can go wrong for - known problems. If that still doesn't solve your problem, drop me an - e-mail or ask around on the Ruby newsgroup or mailing list; it's quite - likely that someone else has run into this problem too. Once you do have a - working FXRuby installation, you're ready to check out the example - programs.</para> - </simplesect> - - <simplesect id="tragedies"> - <title>Things That Can Go Wrong</title> - - <para><emphasis>"Too many arguments to function..."</emphasis></para> - - <para>The include files for Ruby versions 1.6.7 and earlier still have - several function prototypes in the older "K & R" C style, where the - function's argument list is not included; for example, the function - <function>rb_thread_wait_for()</function> takes a single argument of type - <type>struct timeval</type>, but its prototype in - <filename>intern.h</filename> is:</para> - - <programlisting format="linespecific">void rb_thread_wait_for();</programlisting> - - <para>Because FXRuby is written in C++, and C++ requires strict ANSI - C-style function prototypes, code that attempts to call one of these - functions will fail to compile under some compilers. For example, the - error message from gcc will look something like this:</para> - - <screen>FXRbApp.cpp: In method `long int FXRbApp::onChoreThreads (FXObject *, unsigned int, void *)': -/usr/local/lib/ruby/1.8/i686-linux/intern.h:172: too many arguments to function `void rb_thread_wait_for ()' -FXRbApp.cpp:100: at this point in file -make: *** [FXRbApp.o] Error 1</screen> - - <para>while the error message from Microsoft's Visual C++ compiler looks - something like this:</para> - - <screen>FXRbApp.cpp(109): error C2660: 'rb_thread_wait_for' : function does not take 1 parameters -NMAKE : fatal error U1077: 'cl' : return code '0x2' -Stop.</screen> - - <para>This problem with the Ruby header files has been corrected for Ruby - versions 1.6.8 (and later), but if you're building for an older version of - Ruby you can do one of two things to work around the problem:</para> - - <itemizedlist mark="bullet"> - <listitem> - <para>If you're using gcc version 2.95 or earlier, try modifying the - compiler flags (<constant>CFLAGS</constant>) in the FXRuby - <filename>Makefile</filename> to include the - <option>-fno-strict-prototype</option> option; this should instruct - the compiler to allow these kinds of discrepancies. Unfortunately, - this flag is not supported in more recent versions of gcc.</para> - </listitem> - - <listitem> - <para>A more direct approach is to just fix the offending declarations - in the Ruby include file(s), i.e. change the declaration for - <function>rb_thread_wait_for()</function> in - <filename>intern.h</filename> to read:</para> - - <programlisting format="linespecific">void rb_thread_wait_for(struct timeval);</programlisting> - - <para>and change the declaration for <function>rb_gc_mark()</function> - in <filename>intern.h</filename> to read:</para> - - <programlisting format="linespecific">void rb_gc_mark(VALUE);</programlisting> - </listitem> - </itemizedlist> - - <para><emphasis>"Virtual Memory Exhausted"</emphasis></para> - - <para>For FXRuby releases earlier than version 0.99.173 it was common for - the compiler to run out of memory trying to compile - <filename>core_wrap.cpp</filename>, with an error message like:</para> - - <screen>core_wrap.cpp: In function 'void Init_core()': -core_wrap.cpp:108596: virtual memory exhausted</screen> - - <para>This failure was due to the use of optimizations by the compiler; - the FXRuby source code makes heavy use of C++ templates and some versions - of gcc require a lot of memory to process these. Starting with FXRuby - version 0.99.173, the <filename>extconf.rb</filename> script - <emphasis>should</emphasis> disable compiler optimizations when it - generates the FXRuby <filename>Makefile</filename>. If you suspect that - it's not disabling optimizations (or can see this by watching the compile - command lines), try modifying the compiler flags - (<constant>CFLAGS</constant>) in the <filename>Makefile</filename> by hand - to do so.</para> - - <para><emphasis>"Cannot load library"</emphasis></para> - - <para>On Linux and other Unix systems that support shared libraries, FOX - is typically installed as a shared library named - <filename>libFOX-1.6.so</filename>. After all of the source files for - FXRuby are compiled, the last step is to link all of the FXRuby object - files together with the FOX library (and possibly other system libraries) - to produce a new shared library, named <filename>fox16.so</filename>, that - Ruby can import as an extension module.</para> - - <para>There are a few things that can go wrong when you try to import this - extension into Ruby. A common problem is that the operating system cannot - locate the FOX shared library (<filename>libFOX-1.6.so</filename>) when it - tries to dynamically load the FXRuby extension module; when this happens, - the error message will look something like:</para> - - <screen>$ <command>irb</command> -irb(main):001:0> <userinput>require 'fox16'</userinput> -LoadError: libFOX-1.6.so: cannot open shared object file: No such file or directory - /usr/local/lib/ruby/1.8/i686-linux/fox16.so - from (irb):1:in 'require' - from (irb):1 - </screen> - - <para>One workaround for this problem is to modify the - <constant>LD_LIBRARY_PATH</constant> environment variable to include the - directory where <filename>libFOX-1.6.so</filename> is installed. For - example, if <filename>libFOX-1.6.so</filename> is installed in <filename - class="directory">/usr/local/lib</filename>, try setting:</para> - - <screen>$ <command>export LD_LIBRARY_PATH=/usr/local/lib</command> -$ <command>irb</command> -irb(main):001:0> <userinput>require 'fox16'</userinput> -</screen> - - <para>If this works, you can of course permanently add the - <constant>LD_LIBRARY_PATH</constant> setting to your login file(s) so that - you don't have to remember to type it each time. Another approach that - should work for Linux is to modify your - <filename>/etc/ld.so.conf</filename> file to include the installation - directory (e.g. <filename>/usr/local/lib</filename>). If you'd like to do - this instead, you'll need to (as root):</para> - - <orderedlist numeration="arabic" spacing="compact"> - <listitem> - <para>Edit your <filename>/etc/ld.so.conf</filename> file and add the - directory where <filename>libFOX-1.6.so</filename> is installed; - and,</para> - </listitem> - - <listitem> - <para>At the shell prompt, type <command>ldconfig</command> to reload - the linker configuration.</para> - </listitem> - </orderedlist> - - <para><emphasis>"Undefined symbol..."</emphasis></para> - - <para>Another problem that has been reported by users of both Debian - GNU/Linux and NetBSD 1.5 is an error message along the lines of:</para> - - <screen>/usr/lib/libstdc++.so.2: Undefined symbol "__vt_9exception"...</screen> - - <para>The fix for this problem is reported to be to modify the FXRuby - <filename>Makefile</filename> and add <option>-lgcc</option> to the - <constant>LIBS</constant> line.</para> - </simplesect> -</chapter> \ No newline at end of file diff --git a/users_guide/changes.xml b/users_guide/changes.xml deleted file mode 100755 index b340299..0000000 --- a/users_guide/changes.xml +++ /dev/null @@ -1,2003 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="changes"> - <title>Change History</title> - - <simplesect> - <title>Changes For Version 1.6.20 (Unreleased)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The previous release of FXRuby couldn't be built from source against Ruby 1.9.1 final - due to a change in some of the file-related utility libraries - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=23786&group_id=300&atid=1223">RubyForge - Bug #23786</ulink>). This problem has been corrected.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.19 (March 6, 2009)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The previous release of FXRuby couldn't be built from source against Ruby 1.9.1 final - due to a change in some of the file-related utility libraries - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=23786&group_id=300&atid=1223">RubyForge - Bug #23786</ulink>). This problem has been corrected.</para> - </listitem> - <listitem> - <para>The previous release of FXRuby couldn't be built from source against Ruby versions 1.8.5 or - earlier (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=23967&group_id=300&atid=1223">RubyForge - Bug #23967</ulink>). This problem has been corrected.</para> - </listitem> - <listitem> - <para>A change in the return value for Ruby's <methodname>instance_variables</methodname> method broke - some of the code related to message handling in FXRuby (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=23787&group_id=300&atid=1223">RubyForge - Bug #23787</ulink>). This problem has been corrected.</para> - </listitem> - <listitem> - <para>The <methodname>addAccel</methodname> method for the <classname>FXAccelTable</classname> class - now accepts lambda functions (or any other objects that respond to <methodname>call</methodname>). See - the <ulink url="http://www.fxruby.org/doc/api/classes/Fox/FXAccelTable.html">API documentation</ulink> - for <classname>FXAccelTable</classname> for examples of how this works.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.18 (December 29, 2008)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Some users were having trouble building FXRuby on 64-bit operating systems - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=23375&group_id=300&atid=1223">RubyForge - Bug #23375</ulink>). This problem has been corrected.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.17 (December 24, 2008)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The Ruby interpreter was generating a large number of warning messages about redefined methods - in the <filename>kwargs.rb</filename> library - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=19231&group_id=300&atid=1223">RubyForge - Bug #19231</ulink> and elsewhere). This problem has been corrected.</para> - </listitem> - - <listitem> - Due to recent changes in Ruby's garbage collection algorithm, FXRuby applications could under some circumstances - crash for large numbers of table items - (see RubyForge bugs <ulink url="http://rubyforge.org/tracker/index.php?func=detail&aid=21983&group_id=300&atid=1223">21983</ulink> and <ulink url="http://rubyforge.org/tracker/index.php?func=detail&aid=23188&group_id=300&atid=1223">23188</ulink>). - This bug has been fixed. - </listitem> - - <listitem> - <para>The documentation for the <classname>FXTable</classname> class referred to the non-existent <methodname>setColumnX</methodname> - and <methodname>setRowY</methodname> instance methods - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=21987&group_id=300&atid=1223">RubyForge - Bug #21987</ulink>). These entries have been removed from the documentation.</para> - </listitem> - - <listitem> - <para>A number of instance methods for the <classname>FXTable</classname> class could crash an application if they - were passed out-of-bounds index arguments - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=21987&group_id=300&atid=1223">RubyForge - Bug #21987</ulink>). These methods now raise <classname>IndexError</classname> when they're passed out-of-bounds - indexes.</para> - </listitem> - - <listitem> - <para>Due to a change in the URL scheme for the Dilbert web site, the <filename>dilbert.rb</filename> example - program was no longer working properly - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=21538&group_id=300&atid=1223">RubyForge - Bug #21538</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>lower</methodname> method for the <classname>FXRangef</classname> was returning - <constant>self</constant> instead of an <classname>FXVec3f</classname> instance for the range's low - bound - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=22488&group_id=300&atid=1223">RubyForge - Bug #22488</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>Made a number of minor fixes for compatibility with Ruby 1.9.1.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.16 (July 3, 2008)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Historically, if you called <methodname>create</methodname> on a - window before its parent window was created, your application would - crash (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=20702&group_id=300&atid=1223">RubyForge - Bug #20702</ulink> and elsewhere). Now, the code should raise a - <constant>RuntimeError</constant> with a message indicating the - problem.</para> - </listitem> - - <listitem> - <para>The message data that the <classname>FXPicker</classname> widget - sends along with its <constant>SEL_CHANGED</constant> and - <constant>SEL_COMMAND</constant> messages wasn't being handled - properly, and as a result, applications using this widget could crash - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=20780&group_id=300&atid=1223">RubyForge - Bug #20780</ulink>). This problem has been fixed.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.15 (June 4, 2008)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>FXRuby applications could crash (with a segmentation fault) if - <constant>nil</constant> was passed in as the first argument to - <methodname>FXDialogBox.new</methodname> or - <methodname>FXMainWindow.new</methodname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=14642&group_id=300&atid=1223">RubyForge - Bug #14642</ulink>). These methods now raise an - <constant>ArgumentError</constant> if <constant>nil</constant> is - passed as the first argument.</para> - </listitem> - - <listitem> - <para>You should only ever construct one <classname>FXApp</classname> - object per application, but there was no protection against doing so - in the code (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=16275&group_id=300&atid=1223">RubyForge - Bug #16275</ulink>). Now, <methodname>FXApp.new</methodname> will - raise a <classname>RuntimeException</classname> if an - <classname>FXApp</classname> object already exists.</para> - </listitem> - - <listitem> - <para>The <filename>babelfish.rb</filename> example program, which - previously depended on an external web service to perform translation - between languages, was broken since that web service no longer exists - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=16962&group_id=300&atid=1223">RubyForge - Bug #16962</ulink>). The example has now been updated to use Dr. Nic's - <ulink url="http://tranexp.rubyforge.org/">Tranexp</ulink> library - instead.</para> - </listitem> - - <listitem> - <para>The value of the <constant>MBOX_SAVE_CANCEL_DONTSAVE</constant> - option (for the <classname>FXMessageBox</classname> class) wasn't - wrapped properly and was unusable (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=17094&group_id=300&atid=1223">RubyForge - Bug #17094</ulink>). There was also no constant corresponding to the - <constant>MBOX_CLICKED_DONTSAVE</constant> return value. Both of these - problems have been fixed.</para> - </listitem> - - <listitem> - <para>The fields for new <classname>FXHiliteStyle</classname> objects - were uninitialized and as a result sometimes gave unpredictable - results (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=19637&group_id=300&atid=1223">RubyForge - Bug #19637</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>columnHeaderFont</methodname> and - <methodname>rowHeaderFont</methodname> attributes for - <classname>FXTable</classname> weren't implemented properly (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=20142&group_id=300&atid=1223">RubyForge - Bug #20142</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>Ruby 1.8.7 adds a new <methodname>first</methodname> method to - the <classname>Enumerable</classname> module, and this conflicts with - the existing <methodname>first</methodname> method defined in the - <classname>FXWindow</classname> base class for a number of FXRuby - classes which mix in <classname>Enumerable</classname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=20418&group_id=300&atid=1223">RubyForge - Bug #20418</ulink>). This problem has been resolved.</para> - </listitem> - - <listitem> - <para>Due to a bug in the <filename>extconf.rb</filename> script, the - build was failing for Ruby 1.9.0 (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=20426&group_id=300&atid=1223">RubyForge - Bug #20426</ulink>). This has been fixed.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.14 (March 29, 2008)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Updated the documentation for the <classname>FXImage</classname> - class to indicate which methods call <methodname>render</methodname> - after they're finished, and which ones do not.</para> - </listitem> - - <listitem> - <para>Corrected a little typo in the - <filename>gembrowser.rb</filename> example program.</para> - </listitem> - - <listitem> - <para>Updated the <filename>dilbert.rb</filename> example program to - use the more popular-and-likely-to-be-installed <ulink - url="http://code.whytheluckystiff.net/hpricot/">Hpricot</ulink> HTML - parser library instead of <ulink - url="http://www.crummy.com/software/RubyfulSoup/">Rubyful - Soup</ulink>.</para> - </listitem> - - <listitem> - <para>Re-added the documentation for the - <constant>TOGGLEBUTTON_KEEPSTATE</constant> option, which had - mysteriously disappeared (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2286&group_id=300&atid=1223">RubyForge - Bug #2286</ulink>).</para> - </listitem> - - <listitem> - <para>Made a number of minor fixes to support building FXRuby against - Ruby 1.9.</para> - </listitem> - - <listitem> - <para>Added a binary gem for OS X. This works with the Ruby that's - included with OS X (Leopard).</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.32 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.13 (November 9, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Calls to the <methodname>extractText</methodname> method for the - <classname>FXTable</classname> class were causing various - memory-related errors on certain platforms (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=15444group_id=300&atid=1223">RubyForge - Bug #15444</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.28 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.12 (October 19, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The API documentation for <classname>FXMDIClient</classname> - referred to the non-existent instance method - <methodname>activeChild=</methodname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=10259&group_id=300&atid=1223">RubyForge - Bug #10259</ulink>). This method has been added.</para> - </listitem> - - <listitem> - <para>The API documentation for <classname>FXMDIClient</classname> - also referred to the non-existent instance methods - <methodname>getMDIChildFirst</methodname> and - <methodname>getMDIChildLast</methodname>. These entries have been - removed.</para> - </listitem> - - <listitem> - <para>The API documentation for <classname>FXMDIChild</classname> - referred to non-existent instance methods - <methodname>getMDINext</methodname> and - <methodname>getMDIPrev</methodname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=10436&group_id=300&atid=1223">RubyForge - Bug #10436</ulink>). The documentation has been corrected.</para> - </listitem> - - <listitem> - <para>Added the <parameter>:repeat</parameter> parameter for the - <methodname>addChore</methodname> and - <methodname>addTimeout</methodname> methods. See the documentation for - more details, and <filename>gltest.rb</filename> for an example of its - use.</para> - </listitem> - - <listitem> - <para>Corrected a number of minor typos in the API - documentation.</para> - </listitem> - - <listitem> - <para>Corrected a typo in the <filename>imageviewer.rb</filename> - example.</para> - </listitem> - - <listitem> - <para>Modified the <filename>inputs.rb</filename> example program to - use <methodname>Pipe.read_nonblock()</methodname> instead of - <methodname>Pipe.read()</methodname>.</para> - </listitem> - - <listitem> - <para>Fixed a bug in the implementation of the - <methodname>findText</methodname> method for the - <classname>FXText</classname> class, when used with the - <constant>SEARCH_REGEX</constant> option.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.28 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.11 (April 18, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Added <methodname>editable</methodname> as an alias for - <methodname>FXTextField#editable?</methodname>.</para> - </listitem> - - <listitem> - <para>Added <methodname>each_child_recursive</methodname> instance - method for the <classname>FXWindow</classname> class. This method - performs a depth-first traversal of the widget tree starting at the - receiver window.</para> - </listitem> - - <listitem> - <para>Corrected some errors in the keyword arguments support for the - <classname>FXVec2d</classname>, <classname>FXVec2f</classname>, - <classname>FXVec3d</classname>, <classname>FVec3f</classname>, - <classname>FXVec4d</classname> and <classname>FXVec4f</classname> - classes.</para> - </listitem> - - <listitem> - <para>Corrected an error in the keyword arguments support for the - <classname>FXIconDict</classname> class.</para> - </listitem> - - <listitem> - <para>Modified the gem specification so that the RDoc generated during - a gem install is consistent with that generated by other methods (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=10035&group_id=300&atid=1223">RubyForge - Bug #10035</ulink>).</para> - </listitem> - - <listitem> - <para>Changes to the <filename>iterators</filename> library in version - 1.6.6 introduced a bug in the <methodname>each</methodname> method for - the <classname>FXFoldingList</classname>, - <classname>FXTreeList</classname> and - <classname>FXTreeListBox</classname> classes (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=10175&group_id=300&atid=1223">RubyForge - Bug #10175</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>Applied submitted patches for building FXRuby against Ruby 1.9 - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=10181&group_id=300&atid=1223">RubyForge - Bug #10181</ulink>). Please note that building FXRuby against the Ruby - 1.9 code base is still officially unsupported; however, I'm glad to - accept patches that will help make this possible.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.25 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.9 (April 8, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>A bug was discovered in the keyword arguments library support - for the <classname>FXMenuBar</classname> class (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=9927&group_id=300&atid=1223">RubyForge - Bug #9927</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.25 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.8 (April 5, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Due to an internal bookkeeping error, applications like the - <filename>glviewer.rb</filename> example program which create multiple - <classname>FXGLViewer</classname> instances could cause an assertion - to fail. When this assertion fails on Windows, the program simply - crashes (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=9775&group_id=300&atid=1223">RubyForge - Bug #9775</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>The keyword arguments library, introduced in version 1.6.5, is - now included automatically when you load FXRuby; it is no longer - necessary to explicitly require it.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.25 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.7 (March 31, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.25 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.6 (February 10, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Somewhere along the way, the RAA browser example program got - broken due to changes in the SOAP interface to RAA (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=7977&group_id=300&atid=1223">RubyForge - Bug #7977</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>Some debugging code that was meant to detect errors in FXRuby - message data conversion was inadvertently causing some user - applications to crash when running under Windows (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=8049&group_id=300&atid=1223">RubyForge - Bug #8049</ulink>). This debugging code has been changed to avoid the - problem.</para> - </listitem> - - <listitem> - <para>Modified the implementations of the each iterator methods for - <classname>FXFoldingList</classname>, - <classname>FXFoldingItem</classname>, - <classname>FXTreeItem</classname>, <classname>FXTreeList</classname> - and <classname>FXTreeListBox</classname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=8090&group_id=300&atid=1223">RubyForge - Bug #8090</ulink>). The new implementation is a bit more robust in - terms of modifications (such as deletion) of the iterated-over - elements.</para> - </listitem> - - <listitem> - <para>A bug in the new keyword arguments library (introduced in - version 1.6.5) caused the <methodname>initialize</methodname> method - for the <classname>FXDCWindow</classname> class to do the wrong thing - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=8441&group_id=300&atid=1223">RubyForge - Bug #8441</ulink>). This has been corrected.</para> - </listitem> - - <listitem> - <para>A different bug in the keyword arguments library caused the - <methodname>initialize</methodname> method for the - <classname>FXFont</classname> class to do the wrong thing (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=8517&group_id=300&atid=1223">RubyForge - Bug #8517</ulink>). This also has been corrected.</para> - </listitem> - - <listitem> - <para>Yet another bug in the keyword arguments library broke the part - of the code that used to yield <constant>self</constant> to an - optional block attached to the call to <methodname>new</methodname> - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=8518&group_id=300&atid=1223">RubyForge - Bug #8518</ulink>). This has been corrected.</para> - </listitem> - - <listitem> - <para>Most of the FXRuby example programs have been updated to use the - keyword arguments library.</para> - </listitem> - - <listitem> - <para>Added a new "virtual" keyword argument - <constant>:padding</constant> that can be used in place of (or in - addition to) the <constant>:padLeft</constant>, - <constant>:padRight</constant>, <constant>:padTop</constant> and - <constant>:padBottom</constant> arguments for a constructor. When a - <constant>:padding</constant> value is passed in to the arguments - hash, that value will be used for any of the four regular padding - values that aren't otherwise specified. See the example programs for, - you know, examples.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.20 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.5 (January 20, 2007)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Clicking outside of the visible cells for an - <classname>FXTable</classname> when there was no current selection - caused the code to raise an exception (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5907&group_id=300&atid=1223">RubyForge - Bug #5907</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>hasTimeout?</methodname> method for the - <classname>FXApp</classname> class was implemented incorrectly (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=7564&group_id=300&atid=1223">RubyForge - Bug #7564</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>The <classname>FXFoldingList</classname> and - <classname>FXFoldingItem</classname> classes did not have each - iterator methods like most of the other list-based widgets (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=7978&group_id=300&atid=1225">RubyForge - Patch #7978</ulink>). These have been added.</para> - </listitem> - - <listitem> - <para>The API documentation for <classname>FXMDIClient</classname> - claimed that <classname>FXScrollArea</classname> was its base class - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=7979&group_id=300&atid=1223">RubyForge - Bug #7979</ulink>). This has been corrected; the base class for - <classname>FXMDIClient</classname> is - <classname>FXComposite</classname>.</para> - </listitem> - - <listitem> - <para>There was a small typo in the documentation for the - <classname>FXFoldingList</classname> class options (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=7981&group_id=300&atid=1223">RubyForge - Bug #7981</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>Added preliminary support for keyword-style arguments, as - described in the <ulink - url="http://www.fxruby.org/doc/differences.html">"Differences Between - FOX and FXRuby"</ulink> section of the <ulink - url="http://www.fxruby.org/doc/book.html">FXRuby User's - Guide</ulink>.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.20 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.4 (November 30, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>A change made in Ruby 1.8.5 for cyclic requires led to a problem - that caused the Ruby interpreter to emit a large number of warnings - (see <ulink - url="http://rubyforge.org/tracker/?func=detail&aid=5633&group_id=300&atid=1223">RubyForge - Bug #5633</ulink>). This problem has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.16 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.3 (October 27, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Widgets of some classes (namely - <classname>FXTopWindow</classname> and - <classname>FXMDIChild</classname>) weren't properly sending a - <constant>SEL_CLOSE</constant> message to their message targets (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5498&group_id=300&atid=1223">RubyForge - Bug #5498</ulink>). Thanks to a change in FOX version 1.6.16, this - problem has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>getControlFor</methodname> method for the - <classname>FXComboTableItem</classname> class was coded incorrectly - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5906&group_id=300&atid=1223">RubyForge - Bug #5906</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>There was a minor typo in the API documentation for the - <application><classname>FXTriStateButton</classname></application> - class (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5962&group_id=300&atid=1223">RubyForge - Bug #5962</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>each_row</methodname> and - <methodname>each_column</methodname> iterator methods for the - <classname>FXTable</classname> class were incorrectly coded (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=6036&group_id=300&atid=1223">RubyForge - Bug #6036</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>new</methodname> class methods for - <classname>FXColorItem</classname>, <classname>FXDirItem</classname>, - <classname>FXFileItem</classname>, - <classname>FXFoldingItem</classname>, - <classname>FXHeaderItem</classname>, - <classname>FXIconItem</classname>, <classname>FXListItem</classname> - and <classname>FXTreeItem</classname> were all raising exceptions when - a non-<constant>nil</constant> value was passed in for the last - argument (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=6197&group_id=300&atid=1223">RubyForge - Bug #6197</ulink>). A similar problem was present for various instance - methods in the <classname>FXColorList</classname>, - <classname>FXListBox</classname> and - <classname>FXMDIClient</classname> classes. These problems have been - fixed.</para> - </listitem> - - <listitem> - <para>A few problems were discovered for the - <filename>inputs.rb</filename> example program (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=6209&group_id=300&atid=1223">RubyForge - Bug #6209</ulink>). These problems have been fixed.</para> - </listitem> - - <listitem> - <para>Several instance methods for the <classname>FXTable</classname> - class were not actually present under their documented names (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=6211&group_id=300&atid=1223">RubyForge - Bug #6211</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The build script was not compatible with changes made in the - recently-released FXScintilla 1.71 (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=6313&group_id=300&atid=1223">RubyForge - Bug #6313</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.16 and - FXScintilla version 1.71.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.2 (September 13, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The <methodname>expandTree()</methodname> and - <methodname>collapseTree()</methodname> methods for the - <classname>FXFoldingList</classname> class were incorrectly identified - as <methodname>expandFolding()</methodname> and - <methodname>collapseFolding()</methodname> in the API documentation - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5354&group_id=300&atid=1223">RubyForge - Bug #5354</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <classname>FXDockTitle</classname> class was not supported - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5632&group_id=300&atid=1223">RubyForge - Bug #5632</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXGLCanvas</classname> - class claimed it had a <methodname>shared?</methodname> method, but it - didn't (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5591&group_id=300&atid=1223">RubyForge - Bug #5591</ulink>). Now it does.</para> - </listitem> - - <listitem> - <para>The <classname>FXGradientBar</classname> class was not supported - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5746&group_id=300&atid=1223">RubyForge - Bug #5746</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.14 and - FXScintilla version 1.67 (from CVS).</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.7 (September 13, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The <methodname>children</methodname> instance method for the - <classname>FXWindow</classname> class always returned an array of - <classname>FXWindow</classname> instances, even if the actual types - should have been instances of subclasses of - <classname>FXWindow</classname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4342&group_id=300&atid=1223">RubyForge - Bug #4342</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <filename>dilbert.rb</filename> example program was broken - due to a change in the Dilbert.com web site structure (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4597&group_id=300&atid=1223">RubyForge - Bug #4597</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>expandTree()</methodname> and - <methodname>collapseTree()</methodname> methods for the - <classname>FXFoldingList</classname> class were incorrectly identified - as <methodname>expandFolding()</methodname> and - <methodname>collapseFolding()</methodname> in the API documentation - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5354&group_id=300&atid=1223">RubyForge - Bug #5354</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <classname>FXDockTitle</classname> class was not supported - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5632&group_id=300&atid=1223">RubyForge - Bug #5632</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXGLCanvas</classname> - class claimed it had a <methodname>shared?</methodname> method, but it - didn't (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5591&group_id=300&atid=1223">RubyForge - Bug #5591</ulink>). Now it does.</para> - </listitem> - - <listitem> - <para>The <classname>FXGradientBar</classname> class was not supported - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5746&group_id=300&atid=1223">RubyForge - Bug #5746</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.34 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.1 (July 21, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The message data sent along for the - <constant>SEL_INSERTED</constant>, <constant>SEL_DELETED</constant> - and <constant>SEL_REPLACED</constant> messages from an a - <classname>FXText</classname> widget to its target was not being - converted properly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4666&group_id=300&atid=1223">RubyForge - Bug #4666</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The code related to the localization of application messages in - FOX wasn't implemented properly in FXRuby, and as a result, - constructing certain dialogs (like the color dialog) could cause a - program to crash (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5000&group_id=300&atid=1223">RubyForge - Bug #5000</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The "Stop Spin" button in the gltest.rb example program didn't - stop the cubes from spinning after either the "Spin Timer" or "Spin - Chore" option was selected (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5001&group_id=300&atid=1223">RubyForge - Bug #5001</ulink>). This was actually a symptom of a larger problem, - that FXRuby wasn't properly handling timers and chores. These problems - have been fixed.</para> - </listitem> - - <listitem> - <para>Setting the current item for an - <classname>FXComboBox</classname> to -1 (to indicate that there's no - current item) would cause FXRuby to erroneously raise an - <classname>IndexError</classname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5007&group_id=300&atid=1223">RubyForge - Bug #5007</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The documentation for the <methodname>reparent</methodname> - instance method for the <classname>FXWindow</classname> class was - incorrect (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=5035&group_id=300&atid=1223">RubyForge - Bug #5035</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <filename>textedit.rb</filename> example program was not up - to date with some of the changes for FOX 1.6. This example has been - updated.</para> - </listitem> - - <listitem> - <para>The new <methodname>font</methodname> method for the - <classname>FXFont</classname> class was not documented. This has been - fixed.</para> - </listitem> - - <listitem> - <para>The <filename>dilbert.rb</filename> example program has been - modified to use the RubyfulSoup HTML library instead of the - html-parser library.</para> - </listitem> - - <listitem> - <para>As discussed in various forums (see for example <ulink - url="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/182827">this - post</ulink>), the <methodname>autorequire</methodname> directive for - RubyGems specifications is now deprecated. As a result, this has been - removed from the FXRuby gem specification. This change will break any - code that was using a statement like:<programlisting>require_gem 'fxruby'</programlisting>as - the sole means for loading FXRuby. Such programs should instead - use:<programlisting>require 'fox16'</programlisting>which will work - for either gem based or non-gem based installations.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.8 and - FXScintilla version 1.67 (from CVS).</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.6.0 (May 29, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>This is the first release of FXRuby compatible with FOX version - 1.6. One of the most signficant changes for FOX 1.6 has been the - addition of Unicode support; all FOX widgets and internal string - processing routines are now Unicode aware. For a comprehensive - overview of the changes made to FOX since version 1.4 (including those - made in the FOX 1.5 development series), please refer to the <ulink - url="http://www.fox-toolkit.com/news.html">News archives</ulink> at - the FOX web site.</para> - </listitem> - - <listitem> - <para>Added the <methodname>allowSide</methodname>, - <methodname>disallowSide</methodname> and - <methodname>allowedSide?</methodname> methods for the - <classname>FXDockBar</classname> class, as complements to the - <methodname>allowedSides</methodname> accessor methods (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2307&group_id=300&atid=1226">RubyForge - Feature Request #2307</ulink>).</para> - </listitem> - - <listitem> - <para>Added the <methodname>visible=</methodname> and - <methodname>visible?</methodname> accessor methods for the - <classname>FXWindow</classname> class, as complements to the - <methodname>show</methodname>, <methodname>hide</methodname> and - <methodname>shown?</methodname> methods (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3579&group_id=300&atid=1226">RubyForge - Feature Request #3579</ulink>).</para> - </listitem> - - <listitem> - <para>The <filename>browser.rb</filename> example was making use of a - deprecated API (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4325&group_id=300&atid=1223">RubyForge - Bug #4325</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>children</methodname> instance method for the - <classname>FXWindow</classname> class always returned an array of - <classname>FXWindow</classname> instances, even if the actual types - should have been instances of subclasses of - <classname>FXWindow</classname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4342&group_id=300&atid=1223">RubyForge - Bug #4342</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <filename>dilbert.rb</filename> example program was broken - due to a change in the Dilbert.com web site structure (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4597&group_id=300&atid=1223">RubyForge - Bug #4597</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.6.5 and - FXScintilla version 1.67 (from CVS).</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.6 (April 26, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>FXRuby would not compile properly on some x86-64 systems (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3729&group_id=300&atid=1223">RubyForge - Bug #3729</ulink>). This error has been corrected. Thanks to Javier - Goizueta for initially reporting this problem, and especially to - Tobias Peters for providing a patch.</para> - </listitem> - - <listitem> - <para>The <classname>FXIconDict</classname> widget was accidentally - "lost" in the transition between FXRuby versions 1.2 and 1.4 (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4117&group_id=300&atid=1223">RubyForge - Bug #4117</ulink>). This error has been corrected. Thanks to Manfred - Usselmann for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <classname>FXSwitcher</classname> widget was not sending the - appropriate message data to its message target for the - <constant>SEL_COMMAND</constant> message type (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4157&group_id=300&atid=1223">RubyForge - Bug #4157</ulink>). This error has been corrected. Thanks to Manfred - Usselmann for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <classname>FXSeparator</classname> class wasn't implemented - properly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4158&group_id=300&atid=1223">RubyForge - Bug #4158</ulink>). This error has been corrected. Thanks to Gerard - Menochet for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>findItemByData</methodname> method was - implemented incorrectly for the <classname>FXComboBox</classname>, - <classname>FXFoldingList</classname>, - <classname>FXIconList</classname>, <classname>FXList</classname> and - <classname>FXListBox</classname> classes (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4172&group_id=300&atid=1223">RubyForge - Bug #4172</ulink>). This error has been corrected. Thanks to Gerard - Menochet for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <classname>FXListBox</classname> widget was not sending the - appropriate message data to its message target for the - <constant>SEL_COMMAND</constant> message type (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4255&group_id=300&atid=1223">RubyForge - Bug #4255</ulink>). This error has been corrected. Thanks to Gerard - Menochet for reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.29 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.5 (April 10, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The <classname>FXTextField</classname> class was not properly - responding to the <constant>ID_INSERT_STRING</constant> command (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3320&group_id=300&atid=1223">RubyForge - Bug #3320</ulink>). This error has been corrected. Thanks to Uwe Hartl - for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>text</methodname> and - <methodname>getText</methodname> methods for the - <classname>FXMenuCaption</classname> class were returning - <constant>nil</constant> instead of the actual value (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3458&group_id=300&atid=1223">RubyForge - Bug #3458</ulink>). This error has been corrected. Thanks to Meinrad - Recheis (Henon) for reporting this problem.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXMDIChild</classname> - class erroneously listed <constant>SEL_CLOSEALL</constant> as one of - the message types that an MDI child window might send to its message - target (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3508&group_id=300&atid=1223">RubyForge - Bug #3508</ulink>). This error has been corrected. Thanks to Meinrad - Recheis (Henon) for reporting this problem.</para> - </listitem> - - <listitem> - <para>Calling the <methodname>selectRange</methodname> method for - class <classname>FXTable</classname> would cause a fatal error instead - of merely raising an <classname>IndexError</classname> exception (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3615&group_id=300&atid=1223">RubyForge - Bug #3615</ulink>). This error has been corrected. Thanks to Meinrad - Recheis (Henon) for reporting this problem.</para> - </listitem> - - <listitem> - <para>Due to an error in the SWIG interface files, the - <classname>FXChoiceBox</classname> class was basically unusable (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3676&group_id=300&atid=1223">RubyForge - Bug #3676</ulink>). This error has been corrected. Thanks to Uwe Hartl - for reporting this problem.</para> - </listitem> - - <listitem> - <para>The API documentation for the - <classname>FXRealSlider</classname> and - <classname>FXRealSpinner</classname> classes erroneously claimed that - the message data for the <constant>SEL_COMMAND</constant> and - <constant>SEL_CHANGED</constant> messages sent by these widgets to - their targets were integers (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3749&group_id=300&atid=1223">RubyForge - Bug #3749</ulink>). Along the same lines, the message data for those - widgets wasn't being converted correctly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3750&group_id=300&atid=1223">RubyForge - Bug #3750</ulink>). Both of these errors have been corrected. Thanks - to Meinrad Recheis (Henon) for reporting these problems.</para> - </listitem> - - <listitem> - <para>The API documentation for the Fox module incorrectly listed the - names of the <methodname>FXSELTYPE</methodname> and - <methodname>FXSELID</methodname> methods as - <methodname>SELTYPE</methodname> and <methodname>SELID</methodname> - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3940&group_id=300&atid=1223">RubyForge - Bug #3940</ulink>). This error has been corrected. Thanks to Joel - VanderWerf for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <classname>FXTableItem</classname> constructor was supposed - to (optionally) accept a reference to an arbitrary Ruby object as its - third argument, but this wasn't working properly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=4005&group_id=300&atid=1223">RubyForge - Bug #4005</ulink>). This error has been corrected. Thanks to Mark - Volkman for reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.29 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.4 (January 21, 2006)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The build instructions for Unix platforms had not been updated - recently and as such contained some errors (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3014&group_id=300&atid=1223">RubyForge - Bug #3014</ulink>). These errors have been corrected. Thanks to Dave - Burns for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>extendSelection</methodname> method for the - <classname>FXTable</classname> class was raising an exception if an - out of bounds row or column index was passed in (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3050&group_id=300&atid=1223">RubyForge - Bug #3050</ulink>). This has been changed so that - <methodname>extendSelection</methodname> instead returns false for out - of bounds arguments. Thanks to Leonid Moiseichuk for reporting this - problem.</para> - </listitem> - - <listitem> - <para>The <methodname>each_child</methodname> iterator method for the - <classname>FXWindow</classname> class would fail if the child window - was destroyed in the block (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3134&group_id=300&atid=1223">RubyForge - Bug #3134</ulink>). Thanks to Liam Irish for reporting this problem - and providing a patch.</para> - </listitem> - - <listitem> - <para>The message data for the <constant>SEL_REPLACED</constant> - message sent by the <classname>FXTable</classname> class to its target - was not being handled properly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=3244&group_id=300&atid=1223">RubyForge - Bug #3244</ulink>). There were also problems with the message data for - the <constant>SEL_SELECTED</constant> and - <constant>SEL_DESELECTED</constant> messages. Furthermore, the - <constant>SEL_REPLACED</constant> message was not documented in the - RDoc documentation for the <classname>FXTable</classname> class. All - of these problems have been corrected. Thanks to _blackdog for - reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.29 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.3 (November 7, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The <constant>TOGGLEBUTTON_KEEPSTATE</constant> option for the - <classname>FXToggleButton</classname> class was not documented (see - <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2286&group_id=300&atid=1223">RubyForge - Bug #2286</ulink>). This oversight has been corrected. Thanks to Tim - Smith for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <filename>scintilla.rb</filename> library file was not up to - date with the latest FXScintilla release, and as a result it was - missing some methods (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2479&group_id=300&atid=1223">RubyForge - Bug #2479</ulink>). This oversight has been corrected. Thanks to Maxim - Kulkin for reporting this problem.</para> - </listitem> - - <listitem> - <para>Due to changes in the APIs for timers and chores, the mechanisms - for removing chores and timeouts were broken (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2563&group_id=300&atid=1223">RubyForge - Bug #2563</ulink>). This bug has been fixed. Thanks to "moinker" for - reporting this problem.</para> - </listitem> - - <listitem> - <para>An error in the test setup caused all of the tests for the - <classname>FXList</classname> class to fail (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2564&group_id=300&atid=1223">RubyForge - Bug #2564</ulink>). This bug has been fixed. Thanks to Peter for - reporting this problem.</para> - </listitem> - - <listitem> - <para>Due to a bug in the test suite runner script, not all test cases - were being exercised (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2565&group_id=300&atid=1223">RubyForge - Bug #2565</ulink>). This bug has been fixed.</para> - </listitem> - - <listitem> - <para>Calling the <methodname>getPixel</methodname> method for the - <classname>FXImage</classname> class when the client-side pixel buffer - for the image has already been released would cause a program to crash - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2611&group_id=300&atid=1223">RubyForge - Bug #2611</ulink>). Now, <methodname>getPixel</methodname> will raise - an exception if it's called after the pixel buffer has been released. - The documentation for <methodname>getPixel</methodname> has been - updated accordingly. Thanks to Gonzalo Garramuno for reporting this - problem.</para> - </listitem> - - <listitem> - <para>The <methodname>makePositionVisible</methodname> method for the - <classname>FXTable</classname> class was raising an exception when - passed out-of-bounds values for the row or column index (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2660&group_id=300&atid=1223">RubyForge - Bug #2660</ulink>). This could happen, for example, if you were to - click in a table area outside of the regular cells (which indirectly - triggers a call to <methodname>makePositionVisible</methodname>). This - was actually inconsistent with standard FOX behavior, which simply - ignores out of bounds values for that method's arguments. This bug has - been fixed, and the documentation for - <methodname>makePositionVisible</methodname> has been updated - accordingly. Thanks to Ralf Jonas for reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.21 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.2 (August 22, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Due to a bug in the implementation, the - <methodname>checked?</methodname> method for the - <classname>FXCheckButton</classname> class always returned - <constant>false</constant> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1852&group_id=300&atid=1223">RubyForge - Bug #1852</ulink>). This bug has been fixed. Thanks to Meinrad Recheis - for reporting this problem.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXTable</classname> - class listed several obsolete attributes (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1928&group_id=300&atid=1223">RubyForge - Bug #1928</ulink>). Those errors have been corrected. Thanks to Pavel - Sokolov for reporting these problems.</para> - </listitem> - - <listitem> - <para>There were a number of bugs in the - <filename>textedit.rb</filename> example program (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1979&group_id=300&atid=1223">RubyForge - Bug #1979</ulink>), and those bugs have been fixed. Thanks to Claude - Marinier for reporting these problems.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXTreeList</classname> - class' <methodname>new</methodname> method still showed the number of - visible items (<parameter>nvis</parameter>) as its second argument - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2171&group_id=300&atid=1223">RubyForge - Bug #2171</ulink>). This problem has been corrected. Thanks to Bill - Atkins for reporting this problem.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXTopWindow</classname> - class had a number of errors (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2269&group_id=300&atid=1223">RubyForge - Bug #2269</ulink>). This problem has been corrected.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXTreeList</classname> - class still listed the obsolete <methodname>reparentItem</methodname> - method (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2270&group_id=300&atid=1223">RubyForge - Bug #2270</ulink>). This problem has been corrected. Thanks to Jacob - Hansen for reporting this problem.</para> - </listitem> - - <listitem> - <para>Due to a bug in how the SWIG typemaps for the - <type>FXlong</type> type were defined, some methods for the - <classname>FXFileStream</classname> class were broken (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=2275&group_id=300&atid=1223">RubyForge - Bug #2275</ulink>). This problem has been corrected. Thanks to Gonzalo - Garramuno for reporting this problem.</para> - </listitem> - - <listitem> - <para>Merged in all of the fixes for FXRuby 1.2.6.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.17 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.1 (August 20, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>This is the second release of FXRuby which is compatible with - FOX 1.4, and as such should be considered an "unstable" release. For a - history of the changes made during the FOX 1.3 and 1.4 development, - see the <ulink url="http://www.fox-toolkit.com/news.html">News</ulink> - page at the FOX Web site.</para> - </listitem> - - <listitem> - <para>The unit tests (in the <filename>tests</filename> subdirectory) - had not been updated to require the <constant>fox14</constant> - feature, and were still looking at <constant>fox12</constant>. This - has been corrected.</para> - </listitem> - - <listitem> - <para>A number of minor problems were corrected for the Windows build - of FXRuby.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.4.17 and - FXScintilla version 1.63.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.4.0 (August 19, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>This is the first release of FXRuby which is compatible with FOX - 1.4, and as such should be considered an "unstable" release. For a - history of the changes made during the FOX 1.3 and 1.4 development, - see the <ulink url="http://www.fox-toolkit.com/news.html">News</ulink> - page at the FOX Web site.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2.6 (April 15, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Some additional problems related to calling the - <methodname>setTableSize</methodname> method for an - <classname>FXTable</classname> were discovered (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1597&group_id=300&atid=1223">RubyForge - Bug #1597</ulink>). This problem has been corrected. Thanks to Joel - VanderWerf for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <filename>iconlist.rb</filename> example program had a - "Sort" pulldown menu filled with a number of commands that didn't - really do anything, including sorting the items (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1654&group_id=300&atid=1223">RubyForge - Bug #1654</ulink>). This pulldown menu has been removed from that - example.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXDC</classname> class - erroneously referred to the <methodname>font</methodname> attribute as - <methodname>textFont</methodname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1667&group_id=300&atid=1223">RubyForge - Bug #1667</ulink>). This problem has been corrected. Thanks to Meinrad - Recheis for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>checked?</methodname>, - <methodname>unchecked?</methodname> and - <methodname>maybe?</methodname> methods for the - <classname>FXMenuCheck</classname> class were missing (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1677&group_id=300&atid=1223">RubyForge - Bug #1677</ulink>). This problem has been corrected. Thanks to Oliver - Smith for reporting this problem.</para> - </listitem> - - <listitem> - <para>The API documentation for the - <classname>FXScrollArea</classname> class incorrectly spelled the - names of the <methodname>horizontalScrollBar</methodname> and - <methodname>verticalScrollBar</methodname> methods as - <methodname>horizontalScrollbar</methodname> and - <methodname>verticalScrollbar</methodname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1678&group_id=300&atid=1223">RubyForge - Bug #1678</ulink>). The documentation has been corrected. Thanks to - Jannis Pohlmann for reporting this mistake.</para> - </listitem> - - <listitem> - <para>Some code in the <filename>groupbox.rb</filename> example - program was calling the <methodname>getRootWindow</methodname> method, - but that method has been renamed to <methodname>getRoot</methodname> - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1692&group_id=300&atid=1223">RubyForge - Bug #1692</ulink>). This problem has been corrected. Thanks to - Jaroslav Stika for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>hasChar?</methodname> method for the - <classname>FXFont</classname> class was spelled without a trailing - question mark, but it seems more Ruby-like that it should, so we've - added an alias for that (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1714&group_id=300&atid=1223">RubyForge - Bug #1714</ulink>). This method also now accepts a string of size 1 - (i.e. a single character) as its input, as an alternative to an - ordinal value. Thanks to Meinrad Recheis for these suggestions.</para> - </listitem> - - <listitem> - <para>The API documentation for the <classname>FXImage</classname> - class mistakenly listed <constant>IMAGE_ALPHA</constant> as a valid - image rendering hint, but this flag is no longer needed since FOX - images now always contain an alpha channel (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1715&group_id=300&atid=1223">RubyForge - Bug #1715</ulink>). The documentation has been corrected. Thanks to - Meinrad Recheis for reporting this mistake.</para> - </listitem> - - <listitem> - <para>Due to an error in the SWIG interface files, the - <methodname>data</methodname> method for the - <classname>FXSettings</classname> class was not being wrapped - properly. As a result, this method was unavailable and in turn led to - other dependent methods (like <methodname>each_section</methodname>) - to be unavailable as well (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1771&group_id=300&atid=1223">RubyForge - Bug #1771</ulink>). This error has been corrected. Thanks to Jannis - Pohlmann for reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.16 and - FXScintilla version 1.62.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2.5 (March 1, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>The change made for FXRuby version 1.2.4 regarding garbage - collection for table items corrected only one of the problems - described in <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1445&group_id=300&atid=1223">RubyForge - Bug #1445</ulink>; There was still a problem related to the - "destructive" effects of the <methodname>setTableSize</methodname> - method for the <classname>FXTable</classname> class. This problem has - now been corrected as well. Thanks to David Peoples, Jamey Cribbs and - Joel VanderWerf for their assistance in helping me to track down this - problem.</para> - </listitem> - - <listitem> - <para>The <methodname>extractText</methodname> and - <methodname>overlayText</methodname> methods for the - <classname>FXTable</classname> class were implemented incorrectly and - weren't listed in the API documentation. These problems have been - corrected.</para> - </listitem> - - <listitem> - <para>The checks for out-of-bounds indices in the - <methodname>getColumnX</methodname>, - <methodname>setColumnX</methodname>, <methodname>getRowY</methodname>, - <methodname>setRowY</methodname> and - <methodname>updateRange</methodname> methods for the - <classname>FXTable</classname> class were incorrect. These have been - fixed.</para> - </listitem> - - <listitem> - <para>The <methodname>setTableSize</methodname> method for the - <classname>FXTable</classname> class now raises - <classname>ArgError</classname> if either the number of rows or - columns passed in as arguments is less than zero.</para> - </listitem> - - <listitem> - <para>A typo in one of the source files was causing the build to fail - when compiled against Ruby versions 1.8.1 or earlier (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1551&group_id=300&atid=1223">RubyForge - Bug #1551</ulink>). This error has been corrected. Thanks to Alex - McGuire for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>selectItem</methodname> method for the - <classname>FXTable</classname> class was removed in FOX 1.2, so we've - added a convenience method for this that just calls the - <methodname>selectRange</methodname> method under the hood (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1562&group_id=300&atid=1223">RubyForge - Bug #1562</ulink>). Thanks to Joel VanderWerf for this - suggestion.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.13 and - FXScintilla version 1.62.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2.4 (February 23, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Due to a change in some of the internal Ruby C APIs, a - compile-time error for FXRuby was introduced in some of the Ruby 1.8.2 - preview releases (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1039&group_id=300&atid=1223">RubyForge - Bug #1039</ulink>). One should not see any compile-time errors when - compiling FXRuby (versions 1.2.3 or later) against the Ruby 1.8.2 - final release, but I've neverthless made a change to how those - internal APIs are used, to avoid any potential problems. Thanks to the - many users who pointed out this problem.</para> - </listitem> - - <listitem> - <para>Joel VanderWerf suggested some enhancements to the - <filename>image.rb</filename> example program in order to improve its - startup time (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1281&group_id=300&atid=1223">RubyForge - Bug #1281</ulink>). Those changes have been incorporated. Thanks to - Joel for this suggestion.</para> - </listitem> - - <listitem> - <para>One change for the <classname>FXImage</classname> class between - FOX versions 1.0 and 1.2 is the nature of the pixel buffer that's - passed to the <classname>FXImage</classname> constructor. Previously, - this pixel buffer was expected to be a string of bytes; now it's - expected to be an array of <type>FXColor</type> values. This - modification was not implemented correctly for FXRuby versions 1.2.3 - and earlier (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1427&group_id=300&atid=1223">RubyForge - Bug #1427</ulink>). This bug has been corrected, and the example - program (<filename>image.rb</filename>) and test cases have been - updated as well. Thanks to Oliver Smith and others for reporting this - problem.</para> - </listitem> - - <listitem> - <para>A couple of different problems, reported by Patrick Fernie and - David Peoples, exposed a flaw in how FXRuby manages the links between - FOX objects and their Ruby peers when the FOX objects are destroyed - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1445&group_id=300&atid=1223">RubyForge - Bug #1445</ulink>). Without going into all the gory details, let's - just say that since we have no explicit control over when Ruby's - garbage collector decides to "collect" those Ruby peers that point to - C++ objects that have been destroyed, we need to take steps to - neutralize those Ruby peer objects so that they can't cause your - application to crash in the meantime; I've implemented a fix to take - care of this situation. Thanks to Patrick and David for reporting - these problems.</para> - </listitem> - - <listitem> - <para>The API documentation for FXRuby 1.2 still contained references - to the old "spellings" of the <methodname>fxparseAccel</methodname> - and <methodname>fxparseHotKey</methodname> method names, which were - all lowercase (i.e. <methodname>fxparseaccel</methodname> and - <methodname>fxparsehotkey</methodname>). (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1470&group_id=300&atid=1223">RubyForge - Bug #1470</ulink>). These errors have been corrected.</para> - </listitem> - - <listitem> - <para>Added the <methodname>FXScrollArea#scrollCorner</methodname> - method, which returns a reference to the scroll corner for any window - derived from <classname>FXScrollArea</classname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=843&group_id=300&atid=1226">RubyForge - Feature Request #1226</ulink>). Thanks to Brian Sheehan for this - suggestion.</para> - </listitem> - - <listitem> - <para>Added the <methodname>FXMemoryBuffer#to_a</methodname> method, - which is just an alias for the <methodname>data</methodname> accessor - method that returns a copy of the data buffer as an array (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1295&group_id=300&atid=1226">RubyForge - Feature Request #1295</ulink>). Thanks to Meinrad Recheis for this - suggestion.</para> - </listitem> - - <listitem> - <para>Added the <methodname>appendRows</methodname> and - <methodname>appendColumns</methodname> methods to the - <classname>FXTable</classname> class (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1426&group_id=300&atid=1226">RubyForge - Feature Request #1295</ulink>). Thanks to Brett Hallett for this - suggestion.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.13 and - FXScintilla version 1.62.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2.3 (January 22, 2005)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>Since group boxes containing radio buttons no longer enforce the - radio behavior of radio buttons (i.e. keeping only one radio button - selected at a time), some of the example programs were no longer - working as desired (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=751&group_id=300&atid=1223">RubyForge - Bug #751</ulink> and <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1280&group_id=300&atid=1223">RubyForge - Bug #1280</ulink>). This problem has been corrected. Thanks to Yuri - Leikind and Barry DeZonia for reporting this problem.</para> - </listitem> - - <listitem> - <para>Bob Sidebotham reported a little typo in the - <filename>table.rb</filename> example program (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=990&group_id=300&atid=1223">RubyForge - Bug #990</ulink>). This has been corrected.</para> - </listitem> - - <listitem> - <para>The API documentation for <classname>FXList</classname> did not - reflect the changes for FOX 1.2; the - <methodname>retrieveItem()</methodname> has been renamed to - <methodname>getItem()</methodname> and - <methodname>insertItem()</methodname> has been renamed to - <methodname>setItem()</methodname> (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1037&group_id=300&atid=1223">RubyForge - Bug #1037</ulink> and <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1257&group_id=300&atid=1223">RubyForge - Bug #1257</ulink>). This has been corrected. Thanks to Remy Drouilhet - and Stephan Kamper for reporting this problem.</para> - </listitem> - - <listitem> - <para>The Windows installer was missing some of the documentation - files (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1139&group_id=300&atid=1223">RubyForge - Bug #1139</ulink>). This has been corrected. Thanks to Curt Hibbs and - Mark Smith for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <filename>browser.rb</filename> example program was broken - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1146&group_id=300&atid=1223">RubyForge - Bug #1146</ulink>). This has been corrected. Thanks to Stefan Lang for - reporting this problem.</para> - </listitem> - - <listitem> - <para>The attribute setter for - <methodname>FXHeaderItem#justification</methodname> was defined - incorrectly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1276&group_id=300&atid=1223">RubyForge - Bug #1276</ulink>). This has been corrected. Thanks to Joel VanderWerf - for reporting this problem (and providing a patch to fix it).</para> - </listitem> - - <listitem> - <para>The <methodname>filenames</methodname> alias for the - <methodname>FXFileDialog#getFilenames()</methodname> instance method - was missing (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1277&group_id=300&atid=1223">RubyForge - Bug #1277</ulink>). This error has been corrected. Thanks to Barry - DeZonia for reporting this problem.</para> - </listitem> - - <listitem> - <para>The API documentation for the - <classname>FXFileDialog</classname> class methods - <methodname>getOpenFilenames()</methodname>, - <methodname>getOpenDirectory()</methodname>, - <methodname>getOpenFilename()</methodname> and - <methodname>getSaveFilename()</methodname> was extremely inadequate - (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1279&group_id=300&atid=1223">RubyForge - Bug #1279</ulink>). This documentation has been improved. Thanks to - Barry DeZonia for reporting this problem.</para> - </listitem> - - <listitem> - <para>Brett Hallett contributed a Ruby port of the "ratio" example - program from the regular FOX distribution, for demonstrating the use - of the new <classname>FXSpring</classname> layout manager (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1282&group_id=300&atid=1223">RubyForge - Bug #1282</ulink>). Many thanks to Brett for this addition!</para> - </listitem> - - <listitem> - <para>Joel VanderWerf contributed code to simplify how programs - interact with modal and non-modal dialog boxes (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1283&group_id=300&atid=1223">RubyForge - Bug #1283</ulink>). See the API documentation for the new - <methodname>FXDialogBox#execute_modal</methodname> and - <methodname>FXDialogBox#execute_nonmodal</methodname> methods for - examples of their use.</para> - </listitem> - - <listitem> - <para>The attribute setters for - <methodname>FXRealSpinner#selBackColor</methodname> and - <methodname>FXSpinner#selBackColor</methodname> were defined - incorrectly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1297&group_id=300&atid=1223">RubyForge - Bug #1297</ulink>). These have been corrected. Thanks to Meinrad - Recheis for reporting this problem.</para> - </listitem> - - <listitem> - <para>The <methodname>tooltipPause</methodname> attribute reader for - the <classname>FXApp</classname> class was missing (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1306&group_id=300&atid=1225">RubyForge - Patch #1306</ulink>). Thanks to Joel VanderWerf for reporting this - omission and providing a patch to fix it.</para> - </listitem> - - <listitem> - <para>The API documentation for the - <classname>FXToolBarTab</classname> class was missing (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1322&group_id=300&atid=1223">RubyForge - Bug #1322</ulink>). Thanks to Joel VanderWerf for reporting this - omission.</para> - </listitem> - - <listitem> - <para>The attribute accessors for - <methodname>FXText#visibleRows</methodname> and - <methodname>FXText#visibleColumns</methodname> were defined and - documented incorrectly (see <ulink - url="http://rubyforge.org/tracker/index.php?func=detail&aid=1325&group_id=300&atid=1223">RubyForge - Bug #1325</ulink>). These have been corrected. Thanks to Karl El-Koura - for reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.13 and - FXScintilla version 1.62.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2.2 (October 1, 2004)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>In order to avoid versioning problems when dealing with a mix of - applications based on either FXRuby 1.0 or 1.2, the feature name for - FXRuby has been changed from "fox" to "fox12". For most application - developers, this means that you will need to modify the source code - for applications targeted at FXRuby 1.2 to begin with the line</para> - - <para><programlisting>require 'fox12'</programlisting>Note that no - changes should be required for legacy applications targeted at FXRuby - 1.0.</para> - </listitem> - - <listitem> - <para>Made a number of updates to the documentation, to reflect API - changes for FXRuby 1.2.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.9 and - FXScintilla version 1.61.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2a2 (July 10, 2004)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>This is the second "alpha" release of FXRuby 1.2. This release - should be compatible with any FOX library version 1.2; it is not - compatible with any previous FOX library versions. As this is an alpha - release, users should expect a certain amount of instability, bugs, - etc.</para> - </listitem> - - <listitem> - <para>For this release, all of the FOX 1.2 classes are available with - the exception of the <classname>FXBitmapView</classname> class. There - is a small problem with how the <classname>FXBitmapView</classname> - class is declared in the FOX 1.2 header files, and I'm trying to - decide how best to resolve that problem. The goal is to have this - problem resolved by the next alpha release of FXRuby.</para> - </listitem> - - <listitem> - <para>For this release, all of the RDoc-based online documentation has - been brought up to date with the new APIs.</para> - </listitem> - - <listitem> - <para>Portions of the FXRuby User's Guide were still out of date with - respect to the new APIs (see <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=988623&group_id=20243&atid=120243">SourceForge - Bug #988623</ulink>). This has been fixed.</para> - </listitem> - - <listitem> - <para>The <filename>mditest.rb</filename> example program was not up - to date with the new APIs. This has been fixed.</para> - </listitem> - - <listitem> - <para>The <filename>glviewer.rb</filename> example program was not up - to date with the new APIs (see <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=986479&group_id=20243&atid=120243">SourceForge - Bug #986479</ulink>). This has been fixed. Thanks to Remy Drouilhet - for reporting this problem and suggesting the fixes.</para> - </listitem> - - <listitem> - <para>The <methodname>FXGLGroup#bounds</methodname> method was defined - incorrectly (see <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=986476&group_id=20243&atid=120243">SourceForge - Bug #986476</ulink>). This has been fixed. Thanks to Remy Drouilhet - for reporting this problem and suggesting the fix.</para> - </listitem> - - <listitem> - <para>The <filename>scintilla-test.rb</filename> example program was - not up to date with the new APIs (see <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=986172&group_id=20243&atid=120243">SourceForge - Bug #986172</ulink>). This has been fixed. Thanks to Peter Watkins for - reporting this problem and submitting a corrected version of the - program.</para> - </listitem> - - <listitem> - <para>There was a small typo in the table.rb example program (see - <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=988152&group_id=20243&atid=120243">SourceForge - Bug #988152</ulink>). This has been fixed. Thanks to Jamey Cribbs for - reporting this problem and suggesting the fix.</para> - </listitem> - - <listitem> - <para>Due to an oversight on my part, one of the overloaded - constructors for the <classname>FXRegion</classname> class wasn't - wrapped properly (see <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=986181&group_id=20243&atid=120243">SourceForge - Bug #986181</ulink>). This has been fixed. Thanks to Bil Bas for - reporting this problem.</para> - </listitem> - - <listitem> - <para>Removed some obsolete aliases for the old leading and trailing - rows and columns for the <classname>FXTable</classname> class (see - <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=986181&group_id=20243&atid=120243">SourceForge - Bug #988038</ulink>). Thanks to Yuri Leikind for reporting this - problem.</para> - </listitem> - - <listitem> - <para>Added <classname>FXTable</classname> instance methods - <methodname>horizontalGridShown=()</methodname> and - <methodname>verticalGridShown=()</methodname> to complement the - already available <methodname>horizontalGridShown?</methodname> and - <methodname>verticalGridShown?</methodname> methods.</para> - </listitem> - - <listitem> - <para>The binary gem for the 1.2a1 release on Windows didn't have PNG - or JPEG image support built-in (see <ulink - url="http://sourceforge.net/tracker/index.php?func=detail&aid=986180&group_id=20243&atid=120243">SourceForge - Bug #986180</ulink>). This has been fixed. Thanks to Bil Bas for - reporting this problem.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.7 and - FXScintilla version 1.61.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Changes For Version 1.2a1 (June 28, 2004)</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>This is the first "alpha" release of FXRuby 1.2. This release - should be compatible with any FOX library version 1.2; it is not - compatible with any previous FOX library versions. As this is an alpha - release, users should expect a certain amount of instability, bugs, - etc.</para> - - <para>The intent of this first alpha release is twofold. The primary - intent is allow application developers who have current projects based - on FXRuby 1.0 to begin the process of updating their applications for - compatibility with FXRuby 1.2. For this release, all of the classes - that existed in FXRuby 1.0 have been updated for compatibility with - FOX 1.2, and so developers should at least be able to begin to "port" - their applications forward now. Note that there have been a number of - changes for FOX 1.2 and FXRuby 1.2, both in terms of API changes and - less obvious "behavioral" changes. For a detailed summary of these - changes, please see <ulink - url="http://www.knology.net/~lyle/fox/1.2/WhatsNew.html">"What's New - in FOX 1.2"</ulink> (also available as a <ulink - url="http://www.knology.net/~lyle/fox/1.2/WhatsNew.pdf">PDF</ulink>). - Note that few, if any, of the new classes introduced in FOX 1.2 are - available in this first alpha release of FXRuby 1.2. Support for those - new classes should come along quickly in subsequent alpha releases of - FXRuby 1.2.</para> - - <para>The secondary intent of this first alpha release is to introduce - the new <ulink - url="http://rubygems.rubyforge.org">RubyGems</ulink>-based packaging - of FXRuby and to begin to work out the inevitable kinks in that - system.</para> - </listitem> - - <listitem> - <para>The binary gem for Windows was built with FOX version 1.2.4 and - FXScintilla version 1.57.</para> - </listitem> - </itemizedlist> - </simplesect> -</chapter> diff --git a/users_guide/clipboardtut.xml b/users_guide/clipboardtut.xml deleted file mode 100755 index 92836a0..0000000 --- a/users_guide/clipboardtut.xml +++ /dev/null @@ -1,321 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="clipboardtut"> - <title>Working With the Clipboard</title> - - <para>Two of the standard FOX widgets, <classname>FXText</classname> and - <classname>FXTextField</classname>, provide clipboard support out of the - box. For example, you can select some text in an - <classname>FXTextField</classname> and then press Ctrl+C to copy that text - to the system clipboard. You can also press Ctrl+X to "cut" the selected - text to the clipboard, or Ctrl+V to paste text from the clipboard into an - <classname>FXText</classname> or <classname>FXTextField</classname> widget. - The purpose of this tutorial is to demonstrate how to interact with the - clipboard programmatically, so that you can integrate additional clipboard - support into your FXRuby applications.</para> - - <section> - <title>Basic Application</title> - - <para>In order to illustrate how to integrate cut and paste operations - into your application, we'll start from a simple FXRuby application that - doesn't yet provide any clipboard support. This application simply - presents a list of customers (from some external source).</para> - - <programlisting format="linespecific">require 'fox16' -require 'customer' - -include Fox - -class ClipMainWindow < FXMainWindow - def initialize(anApp) - # Initialize base class first - super(anApp, "Clipboard Example", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Place the list in a sunken frame - sunkenFrame = FXVerticalFrame.new(self, - LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK, :padding => 0) - - # Customer list - customerList = FXList.new(sunkenFrame, :opts => LIST_BROWSESELECT|LAYOUT_FILL_X|LAYOUT_FILL_Y) - $customers.each do |customer| - customerList.appendItem(customer.name, nil, customer) - end - end - - def create - super - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("ClipboardExample", "FXRuby") do |theApp| - ClipMainWindow.new(theApp) - theApp.create - theApp.run - end -end -</programlisting> - - <para>We're assuming that the "customer" module defines a - <classname>Customer</classname> class and a global array - <varname>$customers</varname> that contains the list of customers. For a - real world application, you might access this information from a database - or some other source, but for this example we'll just use a hard-coded - array:</para> - - <programlisting format="linespecific"># customer.rb - -Customer = Struct.new("Customer", :name, :address, :zip) - -$customers = [] -$customers << Customer.new("Reed Richards", "123 Maple, Central City, NY", 010111) -$customers << Customer.new("Sue Storm", "123 Maple, Anytown, NC", 12345) -$customers << Customer.new("Benjamin J. Grimm", "123 Maple, Anytown, NC", 12345) -$customers << Customer.new("Johnny Storm", "123 Maple, Anytown, NC", 12345) -</programlisting> - - <para>The goals for the next few sections are to extend this application - so that users can select a customer from the list and copy that customer's - information to the clipboard, and subsequently paste that information into - another copy of the program (or some other clipboard-aware - application).</para> - </section> - - <section> - <title>Acquiring the Clipboard</title> - - <para>Let's begin by augmenting the GUI to include a row of buttons along - the bottom of the main window for copying and pasting:</para> - - <programlisting format="linespecific">require 'fox16' -require 'customer' - -include Fox - -class ClipMainWindow < FXMainWindow - def initialize(anApp) - # Initialize base class first - super(anApp, "Clipboard Example", :opts => DECOR_ALL, :width => 400, :height => 300) -<emphasis role="bold"> - # Horizontal frame contains buttons - buttons = FXHorizontalFrame.new(self, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH) -</emphasis><emphasis role="bold"> - # Cut and paste buttons - copyButton = FXButton.new(buttons, "Copy") - pasteButton = FXButton.new(buttons, "Paste") -</emphasis> - # Place the list in a sunken frame - sunkenFrame = FXVerticalFrame.new(self, - LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK, :padding => 0) - - # Customer list - customerList = FXList.new(sunkenFrame, :opts => LIST_BROWSESELECT|LAYOUT_FILL_X|LAYOUT_FILL_Y) - $customers.each do |customer| - customerList.appendItem(customer.name, nil, customer) - end - end - - def create - super - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("ClipboardExample", "FXRuby") do |theApp| - ClipMainWindow.new(theApp) - theApp.create - theApp.run - end -end -</programlisting> - - <para>Note that the lines which appear in bold face are those which have - been added (or changed) since the previous source code listing.</para> - - <para>The clipboard is a kind of shared resource in the operating system. - Copying (or cutting) data to the clipboard begins with some window in your - application requesting "ownership" of the clipboard by calling the - <methodname>acquireClipboard()</methodname> instance method. Let's add a - handler for the "Copy" button press which does just that:</para> - - <programlisting format="linespecific"># User clicks Copy -copyButton.connect(SEL_COMMAND) do - customer = customerList.getItemData(customerList.currentItem) - types = [ FXWindow.stringType ] - if acquireClipboard(types) - @clippedCustomer = customer - end -end -</programlisting> - - <para>The <methodname>acquireClipboard()</methodname> method takes as its - input an array of drag types. A <emphasis>drag type</emphasis> is just a - unique value, assigned by the window system, that identifies a particular - kind of data. In this case, we're using one of FOX's pre-registered drag - types (<constant>stringType</constant>) to indicate that we have some - string data to place on the clipboard. Later, we'll see how to register - customized, application-specific drag types as well.</para> - - <para>The <methodname>acquireClipboard()</methodname> method returns - <constant>true</constant> on success; since we called - <methodname>acquireClipboard()</methodname> on the main window, this means - that the main window is now the clipboard owner. At this time, we want to - save a reference to the currently selected customer in the - <varname>@clippedCustomer</varname> instance variable so that if its value - is requested later, we'll be able to return the - <emphasis>correct</emphasis> customer's information.</para> - </section> - - <section> - <title>Sending Data to the Clipboard</title> - - <para>Whenever some other window requests the clipboard's contents (e.g. - as a result of a "paste" operation) FOX will send a - <constant>SEL_CLIPBOARD_REQUEST</constant> message to the current - clipboard owner. Remember, the clipboard owner is the window that called - <methodname>acquireClipboard()</methodname>. For our example, the main - window is acting as the clipboard owner and so it needs to handle the - <constant>SEL_CLIPBOARD_REQUEST</constant> message:</para> - - <programlisting format="linespecific"># Handle clipboard request -self.connect(SEL_CLIPBOARD_REQUEST) do - setDNDData(FROM_CLIPBOARD, FXWindow.stringType, Fox.fxencodeStringData(@clippedCustomer.to_s)) -end -</programlisting> - - <para>The <methodname>setDNDData()</methodname> method takes three - arguments. The first argument tells FOX which kind of data transfer we're - trying to accomplish; as it turns out, this method can be used for - drag-and-drop (<constant>FROM_DRAGNDROP</constant>) and X11 selection - (<constant>FROM_SELECTION</constant>) data transfer as well. The second - argument to <methodname>setDNDData()</methodname> is the drag type for the - data and the last argument is the data itself, a binary string.</para> - - <para>If you're wondering why we need to call the - <methodname>fxencodeStringData()</methodname> module method to preprocess - the string returned by the call to <methodname>Customer#to_s</methodname>, - that's a reasonable thing to wonder about. In order for FOX to play nice - with other clipboard-aware applications, it must be able to store string - data on the clipboard in the format expected by those applications. - Unfortunately, that expected format is platform-dependent and does not - always correspond directly to the format that Ruby uses internally to - store its string data. The <methodname>fxencodeStringData()</methodname> - method (and the corresponding - <methodname>fxdecodeStringData()</methodname> method) provide you with a - platform-independent way of sending (or receiving) string data with the - <constant>stringType</constant> drag type.</para> - - <para>If you run the program as it currently stands, you should now be - able to select a customer from the list, click the "Copy" button and then - paste the selected customer data (as a string) into some other - application. For example, if you're trying this tutorial on a Windows - machine, try pasting into a copy of Notepad or Microsoft Word. The pasted - text should look something like:</para> - - <programlisting format="linespecific">#<struct Struct::Customer name="Joe Smith", address="123 Maple, Anytown, NC", zip=12345> -</programlisting> - </section> - - <section> - <title>Pasting Data from the Clipboard</title> - - <para>We've seen one side of the equation, copying string data to the - clipboard. But before we can "round-trip" that customer data and paste it - back into another copy of our customer list application, we're clearly - going to need to transfer the data in some more useful format. That is to - say, if we were to receive the customer data in the format that it's - currently stored on the clipboard:</para> - - <programlisting format="linespecific">#<struct Struct::Customer name="Joe Smith", address="123 Maple, Anytown, NC", zip=12345> -</programlisting> - - <para>We'd have to parse that string and try to extract the relevant data - from it. We can do better than that. The approach we'll use instead is to - serialize and deserialize the objects using YAML. First, make sure that - the YAML module is loaded by adding this line:</para> - - <programlisting format="linespecific">require 'yaml'</programlisting> - - <para>somewhere near the top of the program. Next, register a custom drag - type for <classname>Customer</classname> objects. We can do that by adding - one line to our main window's <methodname>create</methodname> instance - method:</para> - - <programlisting format="linespecific">def create - super -<emphasis role="bold"> @customerDragType = getApp().registerDragType("application/x-customer") -</emphasis> show(PLACEMENT_SCREEN) - end -</programlisting> - - <para>Note that by convention, the name of the drag type is the MIME type - for the data, but any unique string will do. In our case, we'll use the - string "application/x-customer" to identify the drag type for our - YAML-serialized <classname>Customer</classname> objects.</para> - - <para>With that in place, we can now go back and slightly change some of - our previous code. When we acquire the clipboard, we'd now like to be able - to offer the selected customer's information either as plain text (i.e. - the previous format) <emphasis>or</emphasis> as a YAML document, so we'll - include <emphasis>both</emphasis> of these types in the array of drag - types passed to <methodname>acquireClipboard()</methodname>:</para> - - <programlisting format="linespecific"># User clicks Copy -copyButton.connect(SEL_COMMAND) do - customer = customerList.getItemData(customerList.currentItem) -<emphasis role="bold"> types = [ FXWindow.stringType, @customerDragType ] -</emphasis> if acquireClipboard(types) - @clippedCustomer = customer - end -end -</programlisting> - - <para>Similarly, when we're handling the - <constant>SEL_CLIPBOARD_REQUEST</constant> message, we now need to pay - attention to which drag type (i.e. which data format) the requestor - specified. We can do that by inspecting the - <methodname>target</methodname> attribute of the - <classname>FXEvent</classname> instance passed along with the - <constant>SEL_CLIPBOARD_REQUEST</constant> message:</para> - - <programlisting format="linespecific"># Handle clipboard request -self.connect(SEL_CLIPBOARD_REQUEST) do |sender, sel, event| - case event.target - when FXWindow.stringType - setDNDData(FROM_CLIPBOARD, FXWindow.stringType, Fox.fxencodeStringData(@clippedCustomer.to_s)) - when @customerDragType - setDNDData(FROM_CLIPBOARD, @customerDragType, @clippedCustomer.to_yaml) - else - # Ignore requests for unrecognized drag types - end -end -</programlisting> - - <para>With these changes in place, we can now add a handler for the - "Paste" button which requests the clipboard data in YAML format, - deserializes it, and then adds an item to the customer list:</para> - - <programlisting format="linespecific"># User clicks Paste -pasteButton.connect(SEL_COMMAND) do - data = getDNDData(FROM_CLIPBOARD, @customerDragType) - if data - customer = YAML.load(data) - customerList.appendItem(customer.name, nil, customer) - end -end -</programlisting> - - <para>The <methodname>getDNDData()</methodname> method used here is the - inverse of the <methodname>setDNDData()</methodname> method we used - earlier to push data to some other application requesting our clipboard - data. As with <methodname>setDNDData()</methodname>, the arguments to - <methodname>getDNDData()</methodname> indicate the kind of data transfer - we're performing (e.g. <constant>FROM_CLIPBOARD</constant>) and the drag - type for the data we're requesting. If some failure occurs (usually, - because the clipboard owner can't provide its data in the requested - format) <methodname>getDNDData()</methodname> will simply return - <constant>nil</constant>.</para> - </section> -</chapter> \ No newline at end of file diff --git a/users_guide/custom-fo.xsl b/users_guide/custom-fo.xsl deleted file mode 100755 index 039868c..0000000 --- a/users_guide/custom-fo.xsl +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version='1.0' - xmlns="http://www.w3.org/TR/xhtml1/transitional" - exclude-result-prefixes="#default"> -<xsl:import href="/Users/lyle/docbook/docbook5-xsl-1.72.0/fo/docbook.xsl"/> -<!--xsl:param name="use.extensions" select="1"/--> -<xsl:param name="fop.extensions" select="1"/> -<xsl:param name="shade.verbatim" select="1"/> -</xsl:stylesheet> diff --git a/users_guide/custom-html.xsl b/users_guide/custom-html.xsl deleted file mode 100755 index aa8dd7f..0000000 --- a/users_guide/custom-html.xsl +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version='1.0' - xmlns="http://www.w3.org/TR/xhtml1/transitional" - exclude-result-prefixes="#default"> - -<xsl:import href="/Users/lyle/docbook/docbook5-xsl-1.72.0/html/chunk.xsl"/> - -<xsl:variable name="root.filename">book</xsl:variable> -<xsl:param name="html.stylesheet.type">text/css</xsl:param> -<xsl:param name="html.stylesheet">style.css</xsl:param> -<xsl:attribute-set name="shade.verbatim.style"> - <xsl:attribute name="width">100%</xsl:attribute> -</xsl:attribute-set> -<xsl:variable name="use.id.as.filename">1</xsl:variable> - -</xsl:stylesheet> diff --git a/users_guide/differences.xml b/users_guide/differences.xml deleted file mode 100755 index c9d2178..0000000 --- a/users_guide/differences.xml +++ /dev/null @@ -1,566 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<appendix id="differences"> - <title>Differences between FOX and FXRuby</title> - - <para>The FXRuby API follows the FOX API very closely and for the most part, - you should be able to use the standard FOX class documentation as a - reference. In some cases, however, fundamental differences between Ruby and - C++ necessitated slight changes in the API. For some other cases, FOX - classes were enhanced to take advantage of Ruby language features (such as - iterators). The purpose of this chapter is to identify some of the - differences between the C++ and Ruby interfaces to FOX.</para> - - <para>One difference that should be easy to cope with is the substitution of - Ruby Strings for FXStrings. Any function that would normally expect an - <type>FXString</type> input argument insteads takes a Ruby String. - Similarly, functions that would return an <type>FXString</type> will instead - return a Ruby string. For functions that would normally accept a - <constant>NULL</constant> or empty string argument, just pass - <constant>nil</constant> or an empty string ("").</para> - - <simplesect> - <title>Functions that expect arrays of objects</title> - - <para>One common pattern in FOX member function argument lists is to - expect a pointer to an array of values, followed by an integer indicating - the number of values in the array. This of course isn't necessary in Ruby, - where <classname>Array</classname> objects "know" their lengths. As a - result, functions such as - <methodname>FXWindow::acquireClipboard()</methodname>, whose C++ - declaration looks like this:</para> - - <programlisting format="linespecific">FXbool acquireClipboard(const FXDragType *types, FXuint numTypes);</programlisting> - - <para>are called from Ruby code by passing in a single - <classname>Array</classname> argument, e.g.</para> - - <programlisting format="linespecific">myWindow.acquireClipboard(typesArray)</programlisting> - </simplesect> - - <simplesect> - <title>Functions that return values by reference</title> - - <para>Many FOX methods take advantage of the C++ language feature of - returning values by reference. For example, the - <methodname>getCursorPos()</methodname> member function for class - <classname>FXWindow</classname> has the declaration:</para> - - <programlisting format="linespecific">FXint getCursorPos(FXint& x, FXint& y, FXint& buttons) const;</programlisting> - - <para>which indicates that the function takes references to three integers - (x, y and buttons). To call this function from a C++ program, you'd write - code like this:</para> - - <programlisting>FXint x, y; -FXuint buttons; - -if (window->getCursorPosition(x, y, buttons)) - fprintf(stderr, "Current position is (%d, %d)\n", x, y);</programlisting> - - <para>Since this idiom doesn't translate well to Ruby, some functions' - interfaces have been slightly modified. For example, the FXRuby - implementation of <methodname>getCursorPos()</methodname> returns the - three values as an <classname>Array</classname>, e.g.:</para> - - <programlisting format="linespecific">x, y, buttons = aWindow.getCursorPos()</programlisting> - - <para>The following table shows how these kinds of functions are - implemented in FXRuby:</para> - - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry align="center">Instance Method</entry> - - <entry align="center">Return Value</entry> - </row> - </thead> - - <tbody> - <row> - <entry><methodname>FXDial#range</methodname></entry> - - <entry>Returns a <classname>Range</classname> instance.</entry> - </row> - - <row> - <entry><methodname>FXDial#range=(aRange)</methodname></entry> - - <entry>Accepts a <classname>Range</classname> instance as its - input.</entry> - </row> - - <row> - <entry><methodname>FXFontDialog#fontSelection</methodname></entry> - - <entry>Returns the <classname>FXFontDesc</classname> - instance</entry> - </row> - - <row> - <entry><methodname>FXFontSelector#fontSelection</methodname></entry> - - <entry>Returns the <classname>FXFontDesc</classname> - instance</entry> - </row> - - <row> - <entry><methodname>FXGLObject#bounds(range)</methodname></entry> - - <entry>Takes an <classname>FXRange</classname> instance as its - input and returns a (possibly modified) - <classname>FXRange</classname> instance.</entry> - </row> - - <row> - <entry><methodname>FXGLViewer#eyeToScreen(eye)</methodname></entry> - - <entry>Takes an array of eye coordinates (floats) as its input and - returns the screen point coordinate as an array of integers [sx, - sy]</entry> - </row> - - <row> - <entry><methodname>FXGLViewer#getBoreVector(sx, - sy)</methodname></entry> - - <entry>Returns the endpoint and direction vector as an array of - arrays [point, dir]</entry> - </row> - - <row> - <entry><methodname>FXGLViewer#light</methodname></entry> - - <entry>Returns a <classname>FXLight</classname> instance</entry> - </row> - - <row> - <entry><methodname>FXGLViewer#viewport</methodname></entry> - - <entry>Returns an <classname>FXViewport</classname> - instance.</entry> - </row> - - <row> - <entry><methodname>FXPrinterDialog#printer</methodname></entry> - - <entry>Returns the <classname>FXPrinter</classname> - instance</entry> - </row> - - <row> - <entry><methodname>FXScrollArea#position</methodname></entry> - - <entry>Returns the position as an array of integers [x, y]</entry> - </row> - - <row> - <entry><methodname>FXSlider#range</methodname></entry> - - <entry>Returns a <classname>Range</classname> instance.</entry> - </row> - - <row> - <entry><methodname>FXSlider#range=(aRange)</methodname></entry> - - <entry>Accepts a <classname>Range</classname> instance as its - input.</entry> - </row> - - <row> - <entry><methodname>FXSpinner#range</methodname></entry> - - <entry>Returns a <classname>Range</classname> instance.</entry> - </row> - - <row> - <entry><methodname>FXSpinner#range=(aRange)</methodname></entry> - - <entry>Accepts a <classname>Range</classname> instance as its - input.</entry> - </row> - - <row> - <entry><methodname>FXText#appendText(text, - notify=false)</methodname></entry> - - <entry>Append text to the end of the buffer.</entry> - </row> - - <row> - <entry><methodname>FXText#appendStyledText(text, style=0, - notify=false)</methodname></entry> - - <entry>Append styled text to the end of the buffer.</entry> - </row> - - <row> - <entry><methodname>FXText#extractText(pos, n)</methodname></entry> - - <entry>Extracts <emphasis>n</emphasis> characters from the buffer - beginning at position <emphasis>pos</emphasis> and returns the - result as a String.</entry> - </row> - - <row> - <entry><methodname>FXText#extractStyle(pos, - n)</methodname></entry> - - <entry>Extracts <emphasis>n</emphasis> style characters from the - buffer beginning at position <emphasis>pos</emphasis> and returns - the result as a String.</entry> - </row> - - <row> - <entry><methodname>FXText#insertText(pos, text, - notify=false)</methodname></entry> - - <entry>Insert <emphasis>text</emphasis> at position - <emphasis>pos</emphasis> in the buffer.</entry> - </row> - - <row> - <entry><methodname>FXText#insertStyledText(pos, text, style=0, - notify=false)</methodname></entry> - - <entry>Insert <emphasis>text</emphasis> at position - <emphasis>pos</emphasis> in the buffer.</entry> - </row> - - <row> - <entry><methodname>FXText#replaceText(pos, m, text, - notify=false)</methodname></entry> - - <entry>Replace <emphasis>m</emphasis> characters at - <emphasis>pos</emphasis> by <emphasis>text</emphasis>.</entry> - </row> - - <row> - <entry><methodname>FXText#replaceStyledText(pos, m, text, style=0, - notify=false)</methodname></entry> - - <entry>Replace <emphasis>m</emphasis> characters at - <emphasis>pos</emphasis> by <emphasis>text</emphasis>.</entry> - </row> - - <row> - <entry><methodname>FXText#setDelimiters(delimiters)</methodname></entry> - - <entry>Change delimiters of words (<emphasis>delimiters</emphasis> - is a string).</entry> - </row> - - <row> - <entry><methodname>FXText#getDelimiters()</methodname></entry> - - <entry>Return word delimiters as a string.</entry> - </row> - - <row> - <entry><methodname>FXWindow#cursorPosition</methodname></entry> - - <entry>Returns an array of integers [x, y, buttons]</entry> - </row> - - <row> - <entry><methodname>FXWindow#translateCoordinatesFrom(window, x, - y)</methodname></entry> - - <entry>Returns the translated coordinates as an array [x, - y]</entry> - </row> - - <row> - <entry><methodname>FXWindow#translateCoordinatesTo(window, x, - y)</methodname></entry> - - <entry>Returns the translated coordinates as an array [x, - y]</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </simplesect> - - <simplesect> - <title>Iterators</title> - - <para>Several classes have been extended with an - <methodname>each</methodname> method to provide Ruby-style iterators. - These classes include <classname>FXComboBox</classname>, - <classname>FXGLGroup</classname>, <classname>FXHeader</classname>, - <classname>FXIconList</classname>, <classname>FXList</classname>, - <classname>FXListBox</classname>, <classname>FXTreeItem</classname>, - <classname>FXTreeList</classname> and - <classname>FXTreeListBox</classname>. These classes also mix-in Ruby's - <classname>Enumerable</classname> module so that you can take full - advantage of the iterators.</para> - - <para>The block parameters passed to your code block vary depending on the - class. For example, iterating over an <classname>FXList</classname> - instance yields <classname>FXListItem</classname> parameters:</para> - - <programlisting format="linespecific">aList.each { |aListItem| - puts "text for this item = #{aListItem.getText()}" -}</programlisting> - - <para>whereas iterating over an <classname>FXComboBox</classname> instance - yields two parameters, the item text (a string) and the item data:</para> - - <programlisting format="linespecific">aComboBox.each { |itemText, itemData| - puts "text for this item = #{itemText}" -}</programlisting> - - <para>The following table shows the block parameters for each of these - classes' iterators:</para> - - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry align="center">Class</entry> - - <entry align="center">Block Parameters</entry> - </row> - </thead> - - <tbody> - <row> - <entry><classname>FXComboBox</classname></entry> - - <entry>the item text (a string) and user data</entry> - </row> - - <row> - <entry><classname>FXGLGroup</classname></entry> - - <entry>an <classname>FXGLObject</classname> instance</entry> - </row> - - <row> - <entry><classname>FXHeader</classname></entry> - - <entry>an <classname>FXHeaderItem</classname> instance</entry> - </row> - - <row> - <entry><classname>FXIconList</classname></entry> - - <entry>an <classname>FXIconItem</classname> instance</entry> - </row> - - <row> - <entry><classname>FXList</classname></entry> - - <entry>an <classname>FXListItem</classname> instance</entry> - </row> - - <row> - <entry><classname>FXListBox</classname></entry> - - <entry>the item text (a string), icon (an - <classname>FXIcon</classname> instance) and user data</entry> - </row> - - <row> - <entry><classname>FXTreeItem</classname></entry> - - <entry>an <classname>FXTreeItem</classname> instance</entry> - </row> - - <row> - <entry><classname>FXTreeList</classname></entry> - - <entry>an <classname>FXTreeItem</classname> instance</entry> - </row> - - <row> - <entry><classname>FXTreeListBox</classname></entry> - - <entry>an <classname>FXTreeItem</classname> instance</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </simplesect> - - <simplesect> - <title>Attribute Accessors</title> - - <para>FOX strictly handles access to all object attributes through member - functions, e.g. <methodname>setBackgroundColor</methodname> and - <methodname>getBackgroundColor</methodname> or - <methodname>setText</methodname> and <methodname>getText</methodname>. - FXRuby exposes all of these functions but also provides aliases that look - more like regular Ruby attribute accessors. The names for these accessors - are based on the FOX method names; for example, - <methodname>setBackgroundColor</methodname> and - <methodname>getBackgroundColor</methodname> are aliased to - <methodname>backgroundColor=</methodname> and - <methodname>backgroundColor</methodname>, respectively.</para> - - <para>In many cases these aliases allow you to write more compact and - legible code. For example, consider this code snippet:</para> - - <programlisting format="linespecific">aLabel.setText(aLabel.getText() + " (modified)")</programlisting> - - <para>Now consider a different code snippet, using the aliased accessor - method names:</para> - - <programlisting format="linespecific">aLabel.text += " (modified)"</programlisting> - - <para>While these two are functionally equivalent, the latter is a bit - easier to read and understand at first glance.</para> - </simplesect> - - <simplesect> - <title>Message Passing</title> - - <para>FOX message maps are implemented as static C++ class members. With - FXRuby, you just associate messages with message handlers in the class - <methodname>initialize</methodname> method using the - <methodname>FXMAPFUNC()</methodname>, - <methodname>FXMAPTYPE()</methodname>, - <methodname>FXMAPTYPES()</methodname> or - <methodname>FXMAPFUNCS()</methodname> methods. See almost any of the - example programs for examples of how this is done.</para> - - <para>As in C++ FOX, the last argument passed to your message handler - functions contains message-specific data. For instance, all - <constant>SEL_PAINT</constant> messages pass an - <classname>FXEvent</classname> object through this argument to give you - some information about the size of the exposed rectangle. On the other - hand, a <constant>SEL_COMMAND</constant> message from an - <classname>FXHeader</classname> object passes the index of the selected - header item through this argument. Instead of guessing what's in this last - argument, your best bet is to instead invoke a member function on the - sending object to find out what you need, instead of relying on the data - passed through this pointer. For example, if you get a - <constant>SEL_COMMAND</constant> message from an - <classname>FXColorWell</classname> object, the data passed through that - last argument is supposed to be the new RGB color value. Instead of trying - to interpret the argument's contents, just turn around and call the color - well's <methodname>getRGBA()</methodname> member function to retrieve its - color. Similarly, if you get a <constant>SEL_COMMAND</constant> message - from a tree list, call its <methodname>getCurrentItem()</methodname> - method to find out which item was selected.</para> - </simplesect> - - <simplesect> - <title>Catching Operating System Signals</title> - - <para>The <methodname>FXApp#addSignal</methodname> and - <methodname>FXApp#removeSignal</methodname> methods have been enhanced to - accept either a string or integer as their first argument. If it's a - string (e.g. "SIGINT" or just "INT") the code will determine the - corresponding signal number for you (similar to the standard Ruby - library's <methodname>Process.kill</methodname> module method). For - examples of how to use this, see the <filename>datatarget.rb</filename> or - <filename>imageviewer.rb</filename> example programs.</para> - </simplesect> - - <simplesect> - <title>Support for Multithreaded Applications</title> - - <para>There is some support for multithreaded FXRuby applications, but - it's not wonderful. The current implementation does what is also done in - Ruby/GTK; it turns over some idle processing time to the Ruby thread - scheduler to let other threads do their thing. As I learn more about - Ruby's threading implementation I may try something different, but this - seems to work OK for now. For a simple example, see the - <filename>groupbox.rb</filename> example program, in which the clock label - that appears in the lower right-hand corner is continuously updated (by a - separate thread).</para> - - <para>If you suspect that FXRuby's threads support is interfering with - your application's performance, you may want to try tweaking the amount of - time that the main application thread "sleeps" during idle processing; do - this by setting the <classname>FXApp</classname> object's - <structfield>sleepTime</structfield> attribute. The default value for - <structfield>FXApp#sleepTime</structfield> is 100 milliseconds. You can - also disable the threads support completely by calling - <methodname>FXApp#threadsEnabled=false</methodname> (and subsequently - re-enable it with - <methodname>FXApp#threadsEnabled=true</methodname>).</para> - </simplesect> - - <simplesect> - <title>Keyword-Style Arguments</title> - - <para>FXRuby 1.6.5 introduced preliminary, experimental support for using - keyword-style arguments in FXRuby method calls. The current implementation - of this feature only works for class constructors (i.e. the "new" class - methods), but the intent is to gradually extend this feature so that it - covers all FXRuby methods.</para> - - <para>What this means in practice is that for calls to methods that have - one or more optional arguments, you can replace all of the optional - arguments with a hash that sets only the values for which the default - isn't appropriate. So, for example, consider a typical call to - <methodname>FXMainWindow.new</methodname>:</para> - - <programlisting>main = FXMainWindow.new(app, "Title Goes Here", nil, nil, DECOR_ALL, 0, 0, 800, 600)</programlisting> - - <para>In this case, the programmer wants to set the initial window width - and height to 800 and 600. In order to do that (with the current release - of FXRuby), however, she's required to fill in all of the optional - arguments in between the window title string and the width and height - values. As anyone who's worked with FXRuby for any amount of time will - tell you, it's easy to accidentally leave out one of those intermediate - arguments and it can be difficult to figure out what's wrong - afterwards.</para> - - <para>Now consider how this method call could be written using the new - keyword arguments support. First, the programmer would need to require the - keyword arguments library:</para> - - <programlisting>require 'fox16/kwargs'</programlisting> - - <para>Then she would look up the API documentation for the - <methodname>FXMainWindow#initialize</methodname> method (e.g. <ulink - url="http://www.fxruby.org/doc/api/classes/Fox/FXMainWindow.html">here</ulink>) - and see that the names of the width and height arguments are, in fact, - "width" and "height". Armed with that information, she would be able to - rewrite the previous code as:</para> - - <programlisting>main = FXMainWindow.new(app, "Title Goes Here", :width => 800, :height => 600)</programlisting> - - <para>Here, the programmer has omitted the intermediate optional arguments - (thus accepting their default values) and specified only the width and - height values. This code is obviously a lot more readable and - maintainable.</para> - - <para>It is important to observe the difference between required and - optional arguments when using this feature. If the API documentation for a - particular method doesn't indicate that an argument has a default value, - then it is by definition not an optional argument. So one could - <emphasis>not</emphasis> write the example as, e.g.</para> - - <programlisting>main = FXMainWindow.new(app, :width => 800, :title => "Title Goes Here", :height => 600)</programlisting> - - <para>This example is incorrect because the title argument is required, - and it must be the second argument in the call. Obviously, this means that - the optional arguments in a method call (if they're specified) will always - follow all of the required arguments.</para> - - <para>Finally, note that the keyword arguments feature has been - implemented so that it's backwards-compatible with the original positional - arguments scheme (or it's intended to be, at any rate). What that means is - that you can immediately start making use of this feature in your existing - code, even if you don't have time to update all of the method calls to use - keyword arguments.</para> - </simplesect> - - <simplesect> - <title>Debugging Tricks</title> - - <para>As a debugging tool, you can optionally catch exceptions raised in - message handlers. To turn on this feature, call the - <methodname>setIgnoreExceptions(true)</methodname> module method. When - this is enabled, any exceptions raised in message handler functions will - cause a standard stack trace to be dumped to the standard output, but then - your application will, for better or worse, proceed normally. Thanks to - Ted Meng for this suggestion.</para> - </simplesect> -</appendix> \ No newline at end of file diff --git a/users_guide/dragdroptut.xml b/users_guide/dragdroptut.xml deleted file mode 100755 index 5db5d2f..0000000 --- a/users_guide/dragdroptut.xml +++ /dev/null @@ -1,803 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="dragdroptut"> - <title>Drag and Drop</title> - - <para>One of the more powerful features available to FOX applications is - drag-and-drop. It's also one of the more complicated to understand. For more - background, see the standard FOX documentation on <ulink - url="http://www.fox-toolkit.com/draganddrop.html">Drag and - Drop</ulink>.</para> - - <section> - <title>Drop Sites</title> - - <para>We're going to start by presenting a skeleton application consisting - of a main window widget (a <classname>DropSite</classname> instance) that - parents an <classname>FXCanvas</classname> widget:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -class DropSite < FXMainWindow - def initialize(anApp) - # Initialize base class - super(anApp, "Drop Site", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - end - - def create - # Create the main window and canvas - super - - # Show the main window - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("DropSite", "FXRuby") do |theApp| - DropSite.new(theApp) - theApp.create - theApp.run - end -end -</programlisting> - - <para>Since the main program (i.e. the part at the end) won't change for - the rest of the tutorial, I won't show that code anymore. Since an - <classname>FXCanvas</classname> widget relies on some other object (its - message target) to draw its contents, we need to handle - <constant>SEL_PAINT</constant> messages generated by the canvas. We'll do - that by adding a handler that clears the canvas to its current background - color:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -class DropSite < FXMainWindow - def initialize(anApp) - # Initialize base class - super(anApp, "Drop Site", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - -<emphasis role="bold"> # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end</emphasis> - end - - def create - # Create the main window and canvas - super - - # Show the main window - show(PLACEMENT_SCREEN) - end -end -</programlisting> - - <para>Run this basic version of the program to be sure that it's working - properly so far. You should simply see an empty window with a white - background.</para> - - <para>Now, on to the fun stuff. Our goal is to be able to drag color data - from some other window, such as an <classname>FXColorWell</classname> - widget, and drop it onto the canvas in order to change the canvas' - background color. In order for a FOX widget to be able to accept drops at - all, we need to first call its <methodname>dropEnable</methodname> - method:</para> - - <programlisting format="linespecific">def initialize(anApp) - # Initialize base class - super(anApp, "Drop Site", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - - # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end - -<emphasis role="bold"> # Enable canvas for drag-and-drop messages - @canvas.dropEnable -</emphasis>end -</programlisting> - - <para>At this point, let's try a little test to see if the program does - anything interesting yet. Start by running some other FOX or FXRuby - program to use as a drag source for the color data. You should be able to - use any program that displays an FXColorWell widget, and this includes the - standard color dialog box shown here:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/colordialog.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - - <para>Each of the small colored boxes near the bottom of the color dialog - box are color wells, and the large box on the left-hand side of the color - dialog box is also a color well. Now start your drag-and-drop test program - and try to drag a color from one of these color wells onto this window. At - this point, the mouse pointer should turn into a stop sign, indicating - that the canvas isn't accepting drops of color data yet.</para> - - <para>To correct this problem, we need to use the canvas' - <methodname>acceptDrop</methodname> method to indicate whether or not - we'll accept certain kinds of drops. You can call - <methodname>acceptDrop</methodname> any time after receiving the initial - <constant>SEL_DND_ENTER</constant> message, but it's usually done in - response to a <constant>SEL_DND_MOTION</constant> message. Let's add a - handler for <constant>SEL_DND_MOTION</constant> messages from the canvas - in DropSite's <methodname>initialize</methodname> method. For now, we'll unconditionally accept - drops from any drag source, regardless of what kind of data they're - offering:</para> - - <programlisting format="linespecific">def initialize(anApp) - # Initialize base class - super(anApp, "Drop Site", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - - # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end - - # Enable canvas for drag-and-drop messages - @canvas.dropEnable - -<emphasis role="bold"> # Handle SEL_DND_MOTION messages from the canvas - @canvas.connect(SEL_DND_MOTION) do - # Accept drops unconditionally (for now) - @canvas.acceptDrop - end -</emphasis>end -</programlisting> - - <para>Now try the previous test again. This time, when you try to drag - from a color well to the drop-enabled canvas, you should see the mouse - pointer turn into a small filled square. This is a visual cue to the user - indicating that the canvas will accept a drop of the drag-and-drop - data.</para> - - <para>Now it's time to get more specific about what kind of data is being - dragged between these applications, and how to process that data. So far, - our drop-enabled canvas merely knows that you're dragging some kind of - data from a drag source, but it doesn't know what kind of data it is. We - really need to be more exclusive about what kinds of data are acceptable. - FOX uses unique drag types to distinguish between different kinds of - "draggable" data. As you'll see later, you have the freedom to define drag - types for any kind of application-specific data that you need; but for - now, we're going to use FOX's built-in drag type for color data.</para> - - <para>Drag types (even the standard ones) must be registered before they - can be used, and so we'll start by adding a few lines to - <classname>DropSite</classname>'s <methodname>create</methodname> method - to register the drag type for color data:</para> - - <programlisting format="linespecific">def create - # Create the main window and canvas - super - -<emphasis role="bold"> # Register the drag type for colors - FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName) - -</emphasis> # Show the main window - show(PLACEMENT_SCREEN) -end -</programlisting> - - <para>Note that the first time that - <methodname>registerDragType</methodname> is called for a particular - drag type name (such as <methodname>FXWindow.colorTypeName</methodname>) - it will generate a unique identifier for that drag type. Subsequent calls - to <methodname>registerDragType</methodname> for the same drag type name - will just return the previously-generated drag type. Now, we want to - modify our <constant>SEL_DND_MOTION</constant> handler so that it's a - little more picky about which kinds of drops it will accept:</para> - - <programlisting format="linespecific"># Handle SEL_DND_MOTION messages from the canvas -@canvas.connect(SEL_DND_MOTION) do -<emphasis role="bold"> if @canvas.offeredDNDType?(FROM_DRAGNDROP, FXWindow.colorType) - @canvas.acceptDrop - end -</emphasis>end -</programlisting> - - <para>Here, we call the canvas' <methodname>offeredDNDType?</methodname> - method to ask if the drag source can provide its data in the requested - format. Only if <methodname>offeredDNDType?</methodname> returns true will - we call <methodname>acceptDrop</methodname> as before.</para> - - <para>The last step is to actually handle the drop, and for that we add a - handler for the <constant>SEL_DND_DROP</constant> message:</para> - - <programlisting format="linespecific"><emphasis role="bold"># Handle SEL_DND_DROP message from the canvas -@canvas.connect(SEL_DND_DROP) do - # Try to obtain the data as color values first - data = @canvas.getDNDData(FROM_DRAGNDROP, FXWindow.colorType) - unless data.nil? - # Update canvas background color - @canvas.backColor = Fox.fxdecodeColorData(data) - end -end</emphasis></programlisting> - - <para>Assuming that the drag source is able to provide its data in the - requested format, the <methodname>getDNDData</methodname> method will - return a string (which for our purposes is just a byte buffer). If you've - defined your own application-specific drag types, this data can of course - be anything, and we'll see examples of this in a later tutorial. But the - data for standard drag types like - <methodname>FXWindow.colorType</methodname> can be decoded using the - appropriate built-in library functions. In this case, we use the - <methodname>fxdecodeColorData</methodname> method to convert the bytes - into a color value that we can use.</para> - - <para>Now comes the moment of truth. Try running your test program again - (one that displays a color well). Now, when you drag a color from a color - well and drop it onto the <classname>DropSite</classname> window, the - canvas should change its background color accordingly.</para> - - <para>The complete program is listed below, and is included in the - <filename class="directory">examples</filename> directory under the file - name <filename>dropsite.rb</filename>.</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -class DropSite < FXMainWindow - def initialize(anApp) - # Initialize base class - super(anApp, "Drop Site", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - - # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end - - # Enable canvas for drag-and-drop messages - @canvas.dropEnable - - # Handle SEL_DND_MOTION messages from the canvas - @canvas.connect(SEL_DND_MOTION) do - if @canvas.offeredDNDType?(FROM_DRAGNDROP, FXWindow.colorType) - @canvas.acceptDrop - end - end - - # Handle SEL_DND_DROP message from the canvas - @canvas.connect(SEL_DND_DROP) do - # Try to obtain the data as color values first - data = @canvas.getDNDData(FROM_DRAGNDROP, FXWindow.colorType) - unless data.nil? - # Update canvas background color - @canvas.backColor = Fox.fxdecodeColorData(data) - end - end - end - - def create - # Create the main window and canvas - super - - # Register the drag type for colors - FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName) - - # Show the main window - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("DropSite", "FXRuby") do |theApp| - DropSite.new(theApp) - theApp.create - theApp.run - end -end -</programlisting> - </section> - - <section> - <title>Drag Sources</title> - - <para>As before, we're going to start by presenting a skeleton application - consisting of a main window widget (a <classname>DragSource</classname> - instance) that parents an <classname>FXCanvas</classname> widget:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -class DragSource < FXMainWindow - def initialize(anApp) - # Initialize base class - super(anApp, "Drag Source", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - @canvas.backColor = "red" - - # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end - end - - def create - # Create the main window and canvas - super - - # Register the drag type for colors - FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName) - - # Show the main window - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("DragSource", "FXRuby") do |theApp| - DragSource.new(theApp) - theApp.create - theApp.run - end -end - -</programlisting> - - <para>Since the main program (i.e. the part at the end) won't change for - the rest of the tutorial, I won't show that code anymore. Furthermore, the - <classname>DragSource</classname> class has a few things in common with - the <classname>DropSite</classname> class from the previous example, - namely:</para> - - <itemizedlist> - <listitem> - <para>We've defined a <constant>SEL_PAINT</constant> handler for the - canvas widget that just clears the canvas to its current background - color; and,</para> - </listitem> - - <listitem> - <para>The drag type for colors - (<constant>FXWindow.colorType</constant>) is registered in the - <classname>DragSource</classname>'s <methodname>create</methodname> - method.</para> - </listitem> - </itemizedlist> - - <para>As before, you may want to run this basic version of the program to - be sure that it's working properly so far. You should simply see an empty - window with a red background.</para> - - <para>Now for this application, we want a drag operation to begin when the - user presses the left mouse button inside the canvas and starts "dragging" - away from the canvas. So the first change we need to make is to add a - handler for the <constant>SEL_LEFTBUTTONPRESS</constant> message from the - canvas:</para> - - <programlisting format="linespecific">@canvas.connect(SEL_LEFTBUTTONPRESS) do - # - # Capture (grab) the mouse when the button goes down, so that all future - # mouse events will be reported to this widget, even if those events occur - # outside of this widget. - # - @canvas.grab - - # Advertise which drag types we can offer - dragTypes = [FXWindow.colorType] - @canvas.beginDrag(dragTypes) -end -</programlisting> - - <para>Note that there are usually two things you're going to want to do in - the <constant>SEL_LEFTBUTTONPRESS</constant> handler for a drag source. - The first is to call <methodname>grab</methodname> on the window that - acts as the drag source. Calling <methodname>grab</methodname> - "captures" the mouse in the sense that subsequent mouse motion events will - be reported as if they occurred inside the grab window. This is important, - since in our case we're going to be dragging from this window to some - other window, possibly a window in a different application - altogether.</para> - - <para>The second thing you'll want to do in the - <constant>SEL_LEFTBUTTONPRESS</constant> handler for a drag source is to - call <methodname>beginDrag</methodname>. This not only kicks the - application into drag-and-drop mode, but also provides a way for you to - inform the system about the formats of data (i.e. the drag types) that - this drag source is able to provide. For this example, the drag source is - just going to offer one drag type.</para> - - <para>Since releasing the left mouse button should end the drag operation, - it's important to also add a handler for the - <constant>SEL_LEFTBUTTONRELEASE</constant> message:</para> - - <programlisting format="linespecific">@canvas.connect(SEL_LEFTBUTTONRELEASE) do - @canvas.ungrab - @canvas.endDrag -end -</programlisting> - - <para>This is pretty much the mirror image of our - <constant>SEL_LEFTBUTTONPRESS</constant> handler. We call - <methodname>ungrab</methodname> to release the mouse capture, and - <methodname>endDrag</methodname> to clean up the drag-and-drop - state.</para> - - <para>The next change is to add a <constant>SEL_MOTION</constant> handler, - to handle mouse motion events during the drag operation:</para> - - <programlisting format="linespecific">@canvas.connect(SEL_MOTION) do |sender, sel, event| - if @canvas.dragging? - @canvas.handleDrag(event.root_x, event.root_y) - unless @canvas.didAccept == DRAG_REJECT - @canvas.dragCursor = getApp().getDefaultCursor(DEF_SWATCH_CURSOR) - else - @canvas.dragCursor = getApp().getDefaultCursor(DEF_DNDSTOP_CURSOR) - end - end -end -</programlisting> - - <para>The <methodname>dragging?</methodname> method returns true if we're - in the middle of a drag-and-drop operation for the drag source window, - i.e. after the call to <methodname>beginDrag</methodname> but before the - call to <methodname>endDrag</methodname>. If we're not currently - processing a drag operation, we're not really interested in mouse motion - events for the canvas.</para> - - <para>If we <emphasis>are</emphasis> processing a drag operation, however, - we need to call <methodname>handleDrag</methodname> on the drag source - window. FOX uses this information to send drag-and-drop messages (such as - <constant>SEL_DND_ENTER</constant>, <constant>SEL_DND_MOTION</constant> - and <constant>SEL_DND_LEAVE</constant>) to the window that the mouse is - currently over. Note that the coordinates passed to - <methodname>handleDrag</methodname> are root window coordinates, and not - window-local coordinates.</para> - - <para>Another good thing to consider doing here is to change the shape of - the cursor depending on the drop site's response to the drag-and-drop - messages from the drag source. For this example, we change the drag cursor - to one of FOX's built-in cursor shapes - (<constant>DEF_SWATCH_CURSOR</constant>) if we get any response other than - <constant>DRAG_REJECT</constant> from the drop site. If the drop site - rejects this drag source's overtures, we instead change the drag cursor to - a cursor that resembles a stop sign - (<constant>DEF_DNDSTOP_CURSOR</constant>).</para> - - <para>I've purposely avoided suggesting that you run the program for the - last couple of changes, since until now there wasn't going to be any - visual indication that anything interesting was happening. But now you - should be able to run the application in its current state and see a few - things.</para> - - <para>A first test is to confirm that the cursor shape changes to the - "stop" sign when you attempt to drag over some window that isn't willing - to accept a drop of the <constant>FXWindow.colorType</constant> drag type. - Start up one of the other FXRuby example programs (such as the - <filename>scribble.rb</filename> example) alongside your drag source - program, and then try "dragging" from the drag source's canvas onto the - Scribble program's canvas. During the drag attempt, the cursor should - maintain its shape as a "stop" sign since the canvas in the - <filename>scribble.rb</filename> example isn't drop-enabled.</para> - - <para>Your next test can confirm that the cursor shape changes to the - "swatch" cursor (a small square) when you attempt to drag over a window - that is drop-enabled, and which is willing to accepts drops of this drag - type. The obvious choice is the example from the previous section (the - dropsite.rb program), but you should have success with any FXRuby example - program that displays color wells. Start up one of these drop-enabled - programs alongside your drag source program, and then try "dragging" from - the drag source's canvas onto the drop site. While the mouse pointer is - over a drop-enabled window, the cursor should change its shape.</para> - - <para>The last (and most important) step is to actually complete the data - transfer. At any time during a drag-and-drop operation, a drop site may - request a copy of the drag-and-drop data by calling the - <methodname>getDNDData</methodname> method (as described in the previous - section). When this happens, FOX sends a - <constant>SEL_DND_REQUEST</constant> message to the current drag source - window, and so we now add a handler for that message:</para> - - <programlisting format="linespecific">@canvas.connect(SEL_DND_REQUEST) do |sender, sel, event| - if event.target == FXWindow.colorType - @canvas.setDNDData(FROM_DRAGNDROP, FXWindow.colorType, Fox.fxencodeColorData(@canvas.backColor)) - end -end -</programlisting> - - <para>The first important thing to note here is that the - <varname>target</varname> field of the <classname>FXEvent</classname> - instance will contain the drag type requested by the drop site. If your - drag source offers its data in multiple formats, you definitely need to - check this in order to know how to package-up the data for transfer. - However, even if you're only offering the data in a single format (as in - this example) it's still a good idea to check the requested type, since a - rogue drop site could ask for the data in some unexpected format.</para> - - <para>Assuming that the drag type is as expected, the last step is send - the data to the drop site by calling - <methodname>setDNDData</methodname>. As with the call to - <methodname>getDNDData</methodname> for our previous drop site program, - you want to be sure to specify the origin of the data - (<constant>FROM_DRAGNDROP</constant>), the drag type - (<constant>FXWindow.colorType</constant>) and the data itself as a binary - string.</para> - - <para>As a final test of the completed program, try dragging from this - window to some drop-enabled window (as described earlier). Now, when you - release the left mouse button to complete the "drop", the drop site should - change its color to red.</para> - - <para>The complete program is listed below, and is included in the - <filename class="directory">examples</filename> directory under the file - name <filename>dragsource.rb</filename>.</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -class DragSource < FXMainWindow - def initialize(anApp) - # Initialize base class - super(anApp, "Drag Source", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - @canvas.backColor = "red" - - # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end - - # Handle left button press - @canvas.connect(SEL_LEFTBUTTONPRESS) do - # - # Capture (grab) the mouse when the button goes down, so that all future - # mouse events will be reported to this widget, even if those events occur - # outside of this widget. - # - @canvas.grab - - # Advertise which drag types we can offer - dragTypes = [FXWindow.colorType] - @canvas.beginDrag(dragTypes) - end - - # Handle mouse motion events - @canvas.connect(SEL_MOTION) do |sender, sel, event| - if @canvas.dragging? - @canvas.handleDrag(event.root_x, event.root_y) - unless @canvas.didAccept == DRAG_REJECT - @canvas.dragCursor = getApp().getDefaultCursor(DEF_SWATCH_CURSOR) - else - @canvas.dragCursor = getApp().getDefaultCursor(DEF_DNDSTOP_CURSOR) - end - end - end - - # Handle left button release - @canvas.connect(SEL_LEFTBUTTONRELEASE) do - @canvas.ungrab - @canvas.endDrag - end - - # Handle request for DND data - @canvas.connect(SEL_DND_REQUEST) do |sender, sel, event| - if event.target == FXWindow.colorType - @canvas.setDNDData(FROM_DRAGNDROP, FXWindow.colorType, Fox.fxencodeColorData(@canvas.backColor)) - end - end - end - - def create - # Create the main window and canvas - super - - # Register the drag type for colors - FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName) - - # Show the main window - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("DragSource", "FXRuby") do |theApp| - DragSource.new(theApp) - theApp.create - theApp.run - end -end - -</programlisting> - </section> - - <section> - <title>Putting It All Together</title> - - <para>We've studied drag-and-drop enabled applications from two points of - view, that of a drag source and that of a drop site. But for most - applications, you'll want a window to act as both a drag source - <emphasis>and</emphasis> a drop site. As it turns out, this is just a - simple combination of the techniques we've already seen in the previous - sections.</para> - - <para>If we use our completed drag source example program from the - previous section as a starting point, and then compare it to the drop site - example from the first section, it is apparent that the only "pieces" - missing are:</para> - - <itemizedlist> - <listitem> - <para>A call to <methodname>dropEnable</methodname>, to make - <classname>DragSource</classname>'s canvas drop-enabled;</para> - </listitem> - - <listitem> - <para>A handler for the <constant>SEL_DND_MOTION</constant> message; - and,</para> - </listitem> - - <listitem> - <para>A handler for the <constant>SEL_DND_DROP</constant> - message.</para> - </listitem> - </itemizedlist> - - <para>If you merge those three short bits of code from - <filename>dropsite.rb</filename> into <filename>dragsource.rb</filename>, - you should end up with a program that can act as both a drag source and a - drop site. To test this program, you should be able to start up two - separate copies side-by-side and then drag from one to the other. Since, - as written, both copies will start up with a red background, you might - want to modify one of them to have a different initial backgroud color. - Another interesting possibility is to start up a third program (such as an - FXRuby example that has displays a color dialog) and drag colors back and - forth between all three programs. You could spend days doing this and - never leave the house.</para> - - <para>The complete program is listed below, and is included in the - <filename class="directory">examples</filename> directory under the file - name <filename>dragdrop.rb</filename>.</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -class DragDropWindow < FXMainWindow - def initialize(anApp) - # Initialize base class - super(anApp, "Drag and Drop", :opts => DECOR_ALL, :width => 400, :height => 300) - - # Fill main window with canvas - @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y) - @canvas.backColor = "red" - - # Enable canvas for drag-and-drop messages - @canvas.dropEnable - - # Handle expose events on the canvas - @canvas.connect(SEL_PAINT) do |sender, sel, event| - FXDCWindow.new(@canvas, event) do |dc| - dc.foreground = @canvas.backColor - dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h) - end - end - - # Handle left button press - @canvas.connect(SEL_LEFTBUTTONPRESS) do - # - # Capture (grab) the mouse when the button goes down, so that all future - # mouse events will be reported to this widget, even if those events occur - # outside of this widget. - # - @canvas.grab - - # Advertise which drag types we can offer - dragTypes = [FXWindow.colorType] - @canvas.beginDrag(dragTypes) - end - - # Handle mouse motion events - @canvas.connect(SEL_MOTION) do |sender, sel, event| - if @canvas.dragging? - @canvas.handleDrag(event.root_x, event.root_y) - unless @canvas.didAccept == DRAG_REJECT - @canvas.dragCursor = getApp().getDefaultCursor(DEF_SWATCH_CURSOR) - else - @canvas.dragCursor = getApp().getDefaultCursor(DEF_DNDSTOP_CURSOR) - end - end - end - - # Handle SEL_DND_MOTION messages from the canvas - @canvas.connect(SEL_DND_MOTION) do - if @canvas.offeredDNDType?(FROM_DRAGNDROP, FXWindow.colorType) - @canvas.acceptDrop - end - end - - # Handle left button release - @canvas.connect(SEL_LEFTBUTTONRELEASE) do - @canvas.ungrab - @canvas.endDrag - end - - # Handle SEL_DND_DROP message from the canvas - @canvas.connect(SEL_DND_DROP) do - # Try to obtain the data as color values first - data = @canvas.getDNDData(FROM_DRAGNDROP, FXWindow.colorType) - unless data.nil? - # Update canvas background color - @canvas.backColor = Fox.fxdecodeColorData(data) - end - end - - # Handle request for DND data - @canvas.connect(SEL_DND_REQUEST) do |sender, sel, event| - if event.target == FXWindow.colorType - @canvas.setDNDData(FROM_DRAGNDROP, FXWindow.colorType, Fox.fxencodeColorData(@canvas.backColor)) - end - end - end - - def create - # Create the main window and canvas - super - - # Register the drag type for colors - FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName) - - # Show the main window - show(PLACEMENT_SCREEN) - end -end - -if __FILE__ == $0 - FXApp.new("DragDrop", "FXRuby") do |theApp| - DragDropWindow.new(theApp) - theApp.create - theApp.run - end -end - -</programlisting> - </section> -</chapter> \ No newline at end of file diff --git a/users_guide/events.xml b/users_guide/events.xml deleted file mode 100755 index f348bbd..0000000 --- a/users_guide/events.xml +++ /dev/null @@ -1,102 +0,0 @@ -<chapter id="events"> - <title>FXRuby's Message-Target System</title> - <simplesect> - <title>Background</title> - <para>One of the biggest flaws with earlier releases of FXRuby was its strict reproduction of FOX's process for mapping GUI events (messages) to instance methods (handlers). That process involved four distinct steps:</para> - <orderedlist numeration="arabic" spacing="compact"> - <listitem><para>Initializing a <emphasis>message identifier</emphasis>, an integer that helps to disambiguate the sender of the message and/or its purpose.</para></listitem> - <listitem><para>Mapping a specific message type and identifier to an instance method for the message target object.</para></listitem> - <listitem><para>Implementing the actual handler method in the message target.</para></listitem> - <listitem><para>Registering the message target and message identifier with the widget that's going to send the messages.</para></listitem> - </orderedlist> - <para>So, for example, let's say you wanted to create a button widget that, when pressed, prints the string "Ouch!" to the terminal. In the old scheme of things, you'd need to identify some object to act as the target for any messages generated by this button. To keep things simple, let's say that the application's main window (<emphasis>mainWindow</emphasis>) is designated as the target for the button. We'll need to generate a unique identifier associated with the button:</para> - <programlisting format="linespecific"><![CDATA[class MyMainWindow < FXMainWindow - - include Responder - - ID_BUTTON = FXMainWindow::ID_LAST - - ... other stuff ... -end]]></programlisting> - <para>Next, you'd want to specify the mapping for a specific message type to the target's instance method that handles that message:</para> - <programlisting format="linespecific"><![CDATA[FXMAPFUNC(SEL_COMMAND, MyMainWindow::ID_BUTTON, 'onCmdButton')]]></programlisting> - <para>Finally, you'd need to implement the instance method (<methodname>onCmdButton</methodname>) named in the call to <methodname>FXMAPFUNC</methodname>:</para> - <programlisting format="linespecific"><![CDATA[def onCmdButton(sender, sel, ptr) - puts "Ouch!" -end]]></programlisting> - <para>The last step is to tell the button who it's message target is, and which message identifier to use when sending messages to that target:</para> - <programlisting format="linespecific"><![CDATA[aButton = FXButton.new(parent, "Push Me", nil, mainWindow, ID_BUTTON)]]></programlisting> - <para>This was an extremely tedious process, especially for programmers who are used to Ruby/Tk's or Ruby/GTK's approach for connecting signals (events) to blocks that handle the signal. After some discussions at RubyConf 2001 and subsequent discussions on the Ruby newsgroup, a new model was proposed and hashed out on the RubyGarden Wiki. This new model was introduced with the FXRuby-0.99.179 release.</para> - </simplesect> - <simplesect> - <title>Event Model</title> - <para>FXRuby implements a new, simplified approach to this built on top of the old model. It more or less mimics the syntax used in Ruby/GTK; you can attach a message handler block to a widget using a new <methodname>connect</methodname> instance method, e.g.</para> - <programlisting format="linespecific"><![CDATA[aButton = FXButton.new(parent, "Push Me") -aButton.connect(SEL_COMMAND) { |sender, sel, ptr| - puts "Ouch!" -}]]></programlisting> - <para>Alternate forms of the <methodname>FXObject#connect</methodname> method can take either a <classname>Method</classname> or <classname>Proc</classname> instance as a second argument (i.e. instead of attaching a block), e.g.</para> - <programlisting format="linespecific"><![CDATA[def push(sender, sel, ptr) - puts "Ouch!" -end - -aButton = FXButton.new(parent, "Push Me") -aButton.connect(SEL_COMMAND, method(:push))]]></programlisting> - <para>It works by creating a special target object (behind the scenes) that stands-in as the message target for your widget and passes off incoming messages to the appropriate block. The single argument to <methodname>connect</methodname> is the FOX message type you're handling (e.g. <constant>SEL_COMMAND</constant>, <constant>SEL_CHANGED</constant>, etc.) The three arguments to the block are the same as those for regular FOX message handler methods, namely, the sender object, the message type and identifier and the message data. And of course, for simple handlers like this one, you can just leave the arguments off altogether:</para> - <programlisting format="linespecific"><![CDATA[aButton = FXButton.new(parent, "Push Me") -aButton.connect(SEL_COMMAND) { puts "Ouch!" }]]></programlisting> - </simplesect> - <simplesect> - <title>Timers</title> - <para>Timers are scheduled by calling <methodname>FXApp#addTimeout</methodname>. There are three different forms of <methodname>addTimeout</methodname>, but the first argument to each is the timeout interval in milliseconds. The most primitive version of this method takes two additional arguments to specify the target object and message identifier for the object that will handle the timeout event:</para> - <programlisting format="linespecific"><![CDATA[aTimer = getApp().addTimeout(1000, timeoutHandlerObj, ID_TIMER)]]></programlisting> - <para>The second form takes either a <classname>Method</classname> or <classname>Proc</classname> instance as its second argument, e.g.</para> - <programlisting format="linespecific"><![CDATA[aTimer = getApp().addTimeout(1000, method(:timeoutHandlerMethod))]]></programlisting> - <para>The last form uses a code block as the handler for the timeout event:</para> - <programlisting format="linespecific"><![CDATA[aTimer = getApp().addTimeout(1000) { |sender, sel, ptr| - # handle this timeout event -}]]></programlisting> - </simplesect> - <simplesect> - <title>Chores</title> - <para>Chores are scheduled by calling <methodname>FXApp#addChore</methodname>. There are three different forms of <methodname>addChore</methodname>; the most primitive version requires two arguments to specify the target object and message identifier for the object that will handle the chore event:</para> - <programlisting format="linespecific"><![CDATA[aChore = getApp().addChore(choreHandlerObj, ID_CHORE)]]></programlisting> - <para>The second form takes either a <classname>Method</classname> or <classname>Proc</classname> instance as its single argument, e.g.</para> - <programlisting format="linespecific"><![CDATA[aChore = getApp().addChore(method(:choreHandlerMethod))]]></programlisting> - <para>The last form uses a code block as the handler for the chore:</para> - <programlisting format="linespecific"><![CDATA[aChore = getApp().addChore { |sender, sel, ptr| - # handle this chore -}]]></programlisting> - </simplesect> - <simplesect> - <title>Signals</title> - <para>Operating system signal handlers are designated by calling <methodname>FXApp#addSignal</methodname>. There are three different forms of <methodname>addSignal</methodname>, but the first argument to each is the signal name (e.g. "SIGINT") or number. Each version also has two optional arguments (which should come at the end of the list) to specify <parameter>immediate</parameter> and <parameter>flags</parameter>. The most primitive version of this method takes two additional arguments to specify the target object and message identifier for the object that will handle this operating system signal:</para> - <programlisting format="linespecific"><![CDATA[aSignal = getApp().addSignal("SIGINT", signalHandlerObj, ID_SIGINT)]]></programlisting> - <para>The second form takes either a <classname>Method</classname> or <classname>Proc</classname> instance as its second argument, e.g.</para> - <programlisting format="linespecific"><![CDATA[aSignal = getApp().addSignal("SIGINT", method(:signalHandlerMethod))]]></programlisting> - <para>The last form uses a code block as the handler for the signal:</para> - <programlisting format="linespecific"><![CDATA[aSignal = getApp().addSignal("SIGINT") { |sender, sel, ptr| - # handle this signal -}]]></programlisting> - </simplesect> - <simplesect> - <title>Input Events</title> - <para>Input event handlers are designated by calling <methodname>FXApp#addInput</methodname>. There are three different forms of <methodname>addInput</methodname>, but the first two arguments to each are the file object (including sockets) and the mode flag (some combination of <constant>INPUT_READ</constant>, <constant>INPUT_WRITE</constant> and <constant>INPUT_EXCEPT</constant>). The most primitive version of this method takes two additional arguments to specify the target object and message identifier for the object that will handle this input event:</para> - <programlisting format="linespecific"><![CDATA[getApp().addInput(aFile, INPUT_READ, inputHandlerObj, ID_INPUT)]]></programlisting> - <para>The second form takes either a <classname>Method</classname> or <classname>Proc</classname> instance as its third argument, e.g.</para> - <programlisting format="linespecific"><![CDATA[getApp().addInput(aSocket, INPUT_READ|INPUT_EXCEPT, method(:inputHandlerMethod))]]></programlisting> - <para>The last form uses a code block as the handler for the input event:</para> - <programlisting format="linespecific"><![CDATA[getApp().addInput(aFile, INPUT_WRITE|INPUT_EXCEPT) { |sender, sel, ptr| - # handle this input -}]]></programlisting> - <para>This API is a little different from the other cases. For example, timeout events always send the same message type (<constant>SEL_TIMEOUT</constant>) to their message target, so you just have a single handler method (or block) to handle the timeout. In contrast, input sources (e.g. pipes or sockets) can generate three different FOX messages, <constant>SEL_IO_READ</constant>, <constant>SEL_IO_WRITE</constant> and <constant>SEL_IO_EXCEPTION</constant>, depending on what happens, so your handler method (block) needs to check the message type, e.g.</para> - <programlisting format="linespecific"><![CDATA[getApp().addInput(socket, INPUT_READ|INPUT_WRITE) { |sender, sel, ptr| - case SELTYPE(sel) - when SEL_IO_READ - # handle read event - when SEL_IO_WRITE - # handle write event - end -}]]></programlisting> - </simplesect> -</chapter> diff --git a/users_guide/examples.xml b/users_guide/examples.xml deleted file mode 100755 index 3ec08de..0000000 --- a/users_guide/examples.xml +++ /dev/null @@ -1,476 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="examples"> - <title>Examples</title> - - <simplesect> - <para>The <ulink url="../examples/hello.rb"><filename>hello.rb</filename></ulink> - example program is about as short as it gets for a working FXRuby program. - Use this as a starting point for understanding the basic elements of an - FXRuby program, especially if you're new to GUI programming in - general.</para> - - <title>hello</title> - - <screenshot><mediaobject> <imageobject><imagedata align="center" - fileref="images/hello.png" format="PNG"></imagedata></imageobject> - </mediaobject></screenshot> - </simplesect> - - <simplesect> - <title>hello2</title> - - <para>The <ulink url="../examples/hello2.rb"><filename>hello2.rb</filename></ulink> - example kicks it up a notch by adding an icon and tooltip to the button - from the <filename>hello.rb</filename> example.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello2.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>scribble</title> - - <para>The <ulink url="../examples/scribble.rb"><filename>scribble.rb</filename></ulink> - example is a good demonstration of how to obtain a device context for a - window (in this case, an <classname>FXCanvas</classname>) and draw into - that window. It also provides a basic demonstration of how FOX's GUI - updating mechanism can be used to automatically update the state of - widgets based on the application's state. Observe the "Clear" - button becoming enabled and disabled (greyed-out) depending on whether the - canvas is currently "dirty" or "clean", and then see how - this updating is actually handled in the code.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/scribble.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>button</title> - - <para>The <ulink url="../examples/button.rb"><filename>button.rb</filename></ulink> - example program shows off the various options (or button styles) for - <classname>FXButton</classname> widgets.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/button.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>datatarget</title> - - <para>The <ulink url="../examples/datatarget.rb"><filename>datatarget.rb</filename></ulink> - example program demonstrates most or all of the widgets that can work with - FOX data targets (that is, instances of class <classname>FXDataTarget</classname>). - Data targets are special objects that have a a string, float or integer - value associated with them, and can interact with widgets to keep the data - target's value in sync with the widget's setting. For example, you - can create a data target with a string value and attach that to a text - field widget. When the user types a new value in the text field, the data - target's value is automatically updated; and when the data - target's value is changed, the text field will update its setting. - Since a single data targets can be attached to multiple widgets, this can - be a useful way to keep multiple controls for the same logical value in - sync with each other.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/datatarget.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>dialog</title> - - <para>The <ulink url="../examples/dialog.rb"><filename>dialog.rb</filename></ulink> - example is a simple program demonstrating how to construct and display - modal and non-modal dialog boxes.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/dialog.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>dirlist</title> - - <para>The <ulink url="../examples/dirlist.rb"><filename>dirlist.rb</filename></ulink> - example program demonstrates the <classname>FXDirList</classname> widget. - The directory list is a special kind of tree list, where each tree item - represents a directory (or folder) in the file system.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/dirlist.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>iconlist</title> - - <para>The <ulink url="../examples/iconlist.rb"><filename>iconlist.rb</filename></ulink> - example program demonstrates the <classname>FXIconList</classname> widget. - An icon list is a special kind of list widget that can display its - contents in one of three basic modes (details mode, small icons mode or - large icons mode). The first screenshot below shows an icon list in - details mode, while the second shows the same icon list in "big - icons" mode.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/iconlist-details.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/iconlist-bigicons.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>mditest</title> - - <para>The <ulink url="../examples/mditest.rb"><filename>mditest.rb</filename></ulink> - example program demonstrates FOX's Multiple Document Interface (MDI) - capabilities, specifically the <classname>FXMDIClient</classname> and - <classname>FXMDIChild</classname> classes.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/mditest.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>groupbox</title> - - <para>The <ulink url="../examples/groupbox.rb"><filename>groupbox.rb</filename></ulink> - example program is a kind of "periodic table of widgets" - demonstration, FOX-style. It shows off a lot of the FOX widgets as well as - providing a good exercise of FOX's layout managers.</para> - - <screenshot> - <mediaobject> - - - <imageobject> - <imagedata align="center" fileref="images/groupbox.png" format="PNG" /> - </imageobject> - - - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>header</title> - - <para>The <ulink url="../examples/header.rb"><filename>header.rb</filename></ulink> - example program mainly demonstrates the <classname>FXHeader</classname> - widget and the <classname>FXSplitter</classname> layout manager.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/header.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>image</title> - - <para>The <ulink url="../examples/image.rb"><filename>image.rb</filename></ulink> - example demonstrates how to draw directly into an <classname>FXImage</classname> - object and then "draw" that image into a canvas.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/image.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>splitter</title> - - <para>The <ulink url="../examples/splitter.rb"><filename>splitter.rb</filename></ulink> - example demonstrates the <classname>FXSplitter</classname> layout manager. - It also provides an example of the <classname>FXTreeList</classname> - widget (on the left side of the split) and the <classname>FXMatrix</classname> - layout manager (in the middle pane).</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/splitter.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>foursplit</title> - - <para>The <ulink url="../examples/foursplit.rb"><filename>foursplit.rb</filename></ulink> - example program demonstrates the <classname>FX4Splitter</classname> layout - manager. This four-way split is especially useful for CAD-type programs - where it's necessary to show multiple views of the model - simultaneously.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/foursplit.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>shutter</title> - - <para>The <ulink url="../examples/shutter.rb"><filename>shutter.rb</filename></ulink> - example provides a simple demonstration of the <classname>FXShutter</classname> - widget, with the skeleton of a PIM-type application. The very nice icons - used for this program are courtesy of <ulink - url="http://www.forrestwalter.com/icons">Gort's Icons</ulink>.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/shutter.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>tabbook</title> - - <para>The <ulink url="../examples/tabbook.rb"><filename>tabbook.rb</filename></ulink> - example exists mainly to demonstrate the <classname>FXTabBook</classname> - widget, but shows off a few other features in the process.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/tabbook.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>table</title> - - <para>The <ulink url="../examples/table.rb"><filename>table.rb</filename></ulink> - example features the <classname>FXTable</classname> widget, sometimes - known as a "grid" or "spreadsheet" widget in other - toolkits.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/table.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>gltest</title> - - <para>The <ulink url="../examples/gltest.rb"><filename>gltest.rb</filename></ulink> - example program demonstrates how to create a basic OpenGL canvas (i.e. an - instance of the <classname>FXGLCanvas</classname> widget) and draw into - it. It also demonstrates how to use timers and chores. This example - requires the Ruby/OpenGL extension, available from the Ruby Application - Archive.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/gltest.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>glviewer</title> - - <para>The <ulink url="../examples/glviewer.rb"><filename>glviewer.rb</filename></ulink> - example program demonstrates how to use the <classname>FXGLViewer</classname> - widget and draw various kinds of GL objects into it. It can also be used - as model for a fairly complicated FXRuby application, since it includes a - lot of typical features (like a menu bar, toolbar, status line, etc.).</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/glviewer.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>imageviewer</title> - - <para>Like the <ulink url="../examples/glviewer.rb"><filename>glviewer.rb</filename></ulink> - example, the <ulink url="../examples/imageviewer.rb"><filename>imageviewer.rb</filename></ulink> - can be used as a model for a typical full-featured GUI application, with a - menu bar, toolbar, and so forth. It also features the - <classname>FXImageView</classname> widget.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/imageviewer.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>dilbert</title> - - <para>The <ulink url="../examples/dilbert.rb"><filename>dilbert.rb</filename></ulink> - example fetches the "Daily Dilbert" cartoon and displays it in a - window. This was just a fun little exercise for me, but it does provide a - more bare-bones example of the <classname>FXImageView</classname> widget - than that provided by the (more complicated) <filename>imageviewer.rb</filename> - example.</para> - - <para>This example program requires the html-parser extension, available - from the Ruby Application Archive.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/dilbert.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>raabrowser</title> - - <para>The <ulink url="../examples/raabrowser.rb"><filename>raabrowser.rb</filename></ulink> - example program shows a treelist view of the current Ruby Application - Archive (RAA) contents, and product-specific information for the currently - selected product in the panel on the right. This is a good demonstration - of the following features:</para> - - <itemizedlist mark="bullet"> - <listitem> - <para>the <classname>FXSplitter</classname> layout manager, used to - split the left side (containing the tree list) from the right side - (containing the information panel). If the panel on the left is too - narrow to see all of its contents (especially when you've expanded - the tree) try resizing the split.</para> - </listitem> - - <listitem> - <para>the <classname>FXTreeList</classname> widget, used to display - the RAA contents.</para> - </listitem> - - <listitem> - <para>data targets (i.e. instances of class <classname>FXDataTarget</classname>), - which are used for the contents of the fields in the information - panel.</para> - </listitem> - </itemizedlist> - - <para>This example program requires the <ulink - url="http://www.jin.gr.jp/~nahi/Ruby/SOAP4R">SOAP4R</ulink> extension.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/raabrowser.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>babelfish</title> - - <para>The <ulink url="../examples/babelfish.rb"><filename>babelfish.rb</filename></ulink> - example program, like the <filename>raabrowser.rb</filename> example, - depends on the <ulink url="http://www.jin.gr.jp/~nahi/Ruby/SOAP4R">SOAP4R</ulink> - extension. Other than that it doesn't bring anything new to the table.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/babelfish.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> - - <simplesect> - <title>browser</title> - - <para>The <ulink url="../examples/browser.rb"><filename>browser.rb</filename></ulink> - example program is mainly a "me too" for the class browser - distributed with Ruby/GTK. It's hard for me to get excited about it, - but here it is.</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/browser.png" format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </simplesect> -</chapter> \ No newline at end of file diff --git a/users_guide/gems.xml b/users_guide/gems.xml deleted file mode 100755 index b9db616..0000000 --- a/users_guide/gems.xml +++ /dev/null @@ -1,158 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="gems"> - <title>Installing from Gems</title> - - <simplesect> - <title>Introduction</title> - - <para>FXRuby uses <ulink - url="http://rubygems.rubyforge.org">RubyGems</ulink> as its preferred - packaging and distribution method. The code is available both as</para> - - <itemizedlist mark="bullet"> - <listitem> - <para>a "source" gem, which contains source code that must be compiled - on your computer before it's installed; and,</para> - </listitem> - - <listitem> - <para>a "binary" gem, which contains a precompiled version of the code - for a specific operating system (such as Windows).</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Installing from a Source Gem</title> - - <para>If you've already downloaded the source gem, you can install it by - typing:</para> - - <screen>$ <command>sudo gem install fxruby-1.6.13.gem</command></screen> - - <para>Note the use of the <command>sudo</command> command to invoke - superuser privileges, since you'll typically need superuser privileges to - install the library files. By default, the source gem will look for your - FOX (and optionally, FXScintilla) installation in a few standard places, - such as the <filename>/usr</filename>, <filename>/usr/local</filename> and - <filename>/sw</filename> directories. If you've installed those libraries - under some other directory (for example, in your home directory) you might - need to pass some additional arguments on the command line, e.g.</para> - - <screen>$ <command>sudo gem install fxruby-1.6.13.gem --force -- --with-fox-include=/home/lyle/include/fox-1.6 --with-fox-lib=/home/lyle/lib</command></screen> - - <para>If you're installing a source gem on a Windows box, you'd instead - type something like:</para> - - <screen>C:\> <command>gem install fxruby-1.6.13.gem --force -- --with-fox-include=C:\include\fox-1.6 --with-fox-lib=C:\lib</command></screen> - - <para>If you're installing a source gem, it can take quite awhile to build - FXRuby, so this might be a good time to take a coffee break. You won't see - any compiler output appear on the screen while the gem is compiling, but - rest assured that the output is being saved into the - <filename>gem_make.out</filename> file.</para> - - <para>As a quick sanity check, to make sure that all is well, you should - probably fire up <filename>irb</filename> and try to require the FXRuby - gem once the installation is complete:</para> - - <screen>$ <command>irb</command> -irb(main):001:0> <userinput><command>require 'rubygems'</command></userinput> -true -irb(main):002:0> <command>require 'fox16'</command> -true</screen> - - <para>If the import failed (usually with a message along the lines of - "Cannot load library"), first check the "Things That Can Go Wrong" section - of this chapter. If that doesn't help, drop me an e-mail or ask around on - the Ruby newsgroup or mailing list; it's quite likely that someone else - has run into this problem too. Once you do have a working FXRuby - installation, you're ready to check out the example programs.</para> - </simplesect> - - <simplesect> - <title>Installing from a Binary Gem</title> - - <para>To install a binary gem for Windows, just type:</para> - - <screen>C:\> <command>gem install fxruby-1.6.13-mswin32.gem</command></screen> - - <para>As a quick sanity check, to make sure that all is well, you should - probably fire up <filename>irb</filename> and try to require the FXRuby - gem once the installation is complete:</para> - - <screen>C:\> <command>irb</command> -irb(main):001:0> <userinput><command>require 'rubygems'</command></userinput> -true -irb(main):002:0> <command>require 'fox16'</command> -true</screen> - - <para>If the import failed (usually with a message along the lines of - "Cannot load library"), first check the "Things That Can Go Wrong" section - of this chapter. If that doesn't help, drop me an e-mail or ask around on - the Ruby newsgroup or mailing list; it's quite likely that someone else - has run into this problem too. Once you do have a working FXRuby - installation, you're ready to check out the example programs.</para> - </simplesect> - - <simplesect> - <title>Things That Can Go Wrong</title> - - <para><emphasis>"Cannot load library"</emphasis></para> - - <para>On Linux and other Unix systems that support shared libraries, FOX - is typically installed as a shared library named - <filename>libFOX-1.6.so</filename>. After all of the source files for - FXRuby are compiled, the last step is to link all of the FXRuby object - files together with the FOX library (and possibly other system libraries) - to produce a new shared object that Ruby can import as an extension - module.</para> - - <para>There are a few things that can go wrong when you try to import this - extension into Ruby. A common problem is that the operating system cannot - locate the FOX shared library (<filename>libFOX-1.6.so</filename>) when it - tries to dynamically load the FXRuby extension module; when this happens, - the error message will look something like:</para> - - <screen>$ <command>irb</command> -irb(main):001:0> <userinput>require 'fox16'</userinput> -LoadError: libFOX-1.6.so: cannot open shared object file: No such file or directory - /usr/local/lib/ruby/1.8/i686-linux/fox16.so - from (irb):1:in 'require' - from (irb):1 - </screen> - - <para>Note that the wording of this error message may be slightly - different, depending on your operating environment. One workaround for - this problem is to modify the <constant>LD_LIBRARY_PATH</constant> - environment variable to include the directory where - <filename>libFOX-1.6.so</filename> is installed. For example, if - <filename>libFOX-1.6.so</filename> is installed in <filename - class="directory">/usr/local/lib</filename>, try setting:</para> - - <screen>$ <command>export LD_LIBRARY_PATH=/usr/local/lib</command> -$ <command>irb</command> -irb(main):001:0> <userinput>require 'fox16'</userinput> -</screen> - - <para>If this works, you can of course permanently add the - <constant>LD_LIBRARY_PATH</constant> setting to your login file(s) so that - you don't have to remember to type it each time. Another approach that - should work for Linux is to modify your - <filename>/etc/ld.so.conf</filename> file to include the installation - directory (e.g. <filename>/usr/local/lib</filename>). If you'd like to do - this instead, you'll need to (as root):</para> - - <orderedlist numeration="arabic" spacing="compact"> - <listitem> - <para>Edit your <filename>/etc/ld.so.conf</filename> file and add the - directory where <filename>libFOX-1.6.so</filename> is installed; - and,</para> - </listitem> - - <listitem> - <para>At the shell prompt, type <command>ldconfig</command> to reload - the linker configuration.</para> - </listitem> - </orderedlist> - </simplesect> -</chapter> \ No newline at end of file diff --git a/users_guide/goals.xml b/users_guide/goals.xml deleted file mode 100755 index 8d79c9e..0000000 --- a/users_guide/goals.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<preface id="goals"> - <title>History and Goals</title> - <para>The primary goal of this project was (and is) to provide a complete - interface to <ulink url="http://www.fox-toolkit.com">FOX</ulink> from - <ulink url="http://www.ruby-lang.org">Ruby</ulink>. Ruby programs should - be able to access FOX classes transparently; this includes deriving new - Ruby classes from FOX classes and overriding their virtual functions. This - goal has been met pretty well at this point although there are undoubtedly - a number of bugs waiting to be discovered.</para> - <para>A secondary goal of the project is to promote Ruby and FOX, two great - open-source projects that both deserve wider recognition. After discovering - Ruby and monitoring the comp.lang.ruby newsgroup postings for only a few - weeks, it became apparent that users were dissatisfied with the existing - GUI options for Ruby. As with Python, Tk is the de facto standard because - of its maturity and availability on a number of platforms (including the - Macintosh). But Tk is also showing its age in many ways and it has failed - to keep pace with some of the "younger" cross-platform GUI toolkits like - FOX, wxWidgets, FLTK, Qt and GTK+. Of the latter five, only Qt and GTK+ - appeared (at the time) to have usable Ruby interfaces and there are some - problems associated with these as well; for Qt, it's the restrictive - license for the Windows platform version, and for GTK+ it's a Windows - version that often lags far behind the standard Linux/Unix version. There - is clearly a need for a modern, open-source, cross-platform GUI for Ruby, - and FOX fills that need.</para> - <para>Since its first public release in January 2001, FXRuby has become one - of the most popular GUI options for Ruby:</para> - <itemizedlist mark="bullet"> - <listitem><para>In a <ulink url="http://www.rubygarden.org/pollBooth.php?op=results&pollID=4"> - Ruby Garden poll</ulink> held in July 2001, FXRuby edged out Ruby/GTK as the - most-preferred GUI writing toolkit for Ruby.</para></listitem> - <listitem><para>In August 2001, FXRuby was added to the Pragmatic Programmers' - <ulink url="http://rubyinstaller.sourceforge.net"> - Windows installer for Ruby</ulink>.</para></listitem> - <listitem><para>In October 2001, Lyle gave a presentation on - <ulink url="http://www.rubyconf.org/2001/talks/lyle/lylefox.htm"> - "Developing GUIs with FOX and Ruby"</ulink> at the first annual Ruby - Conference in Tampa, Florida.</para></listitem> - <listitem><para>Although the lack of documentation has been a sore spot for - some time, several Ruby books (such as the <citetitle pubwork="book"> - Ruby Developer's Guide</citetitle> and <citetitle pubwork="book">The Ruby - Way</citetitle>) feature FXRuby as a Ruby GUI development option.</para> - </listitem> - <listitem><para>FXRuby is used as the GUI for <ulink url="http://freeride.rubyforge.org/wiki/wiki.pl"> - FreeRIDE</ulink> and a number of other Ruby-based projects.</para></listitem> - </itemizedlist> - <para>Most recently, work has focused on keeping FXRuby up-to-date with the - still evolving FOX library while looking for new ways to make Ruby GUI - development fun. If you have suggestions about where you'd like to - see things go, feel free to drop me an e-mail.</para> - <simplesect> - <title>About this Document</title> - <para>The contents of this document were written using <ulink url="http://docbook.org/whatis">DocBook</ulink> version 5.0. - The HTML version of this document uses the CSS stylesheet originally developed for the - HTML version of the book <ulink url="http://svnbook.red-bean.com/">Version Control with Subversion</ulink>, - which is licensed under the <ulink url="http://creativecommons.org/licenses/by/2.0/">Creative Commons Attribution License</ulink>.</para> - </simplesect> -</preface> diff --git a/users_guide/images/babelfish.png b/users_guide/images/babelfish.png deleted file mode 100755 index 78219d3aa032d64ac84e686bc8b9af57b0374847..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2872 zcmeH|dr(tX9>*_5At8_ufw(JHM3#ukORWf2$x4C{9u_4^L}<Ly0FjVj9y}DJ&_s$( z$pTAw2`q@HJX0w6SWV~!MI^x`3Pzq)9+CI*4Cq2OSlI3C_~*`arqe&pow=X$y=T7X z`#bk{l6{W48R%`&0|3B)=uS8e09y8%VF1(C5Xq0t)c~Lk_;`_AHLn1`0|52KxQo0* z-s6VH%6_F<t^UA&fBc@nZ#;ptH%UgCEy5$*Pq6_2*|;*aGIk+NHBgsB^mf&iYa>zm zC~X9)=>u{la}IMkp-dKVyHe_|LHZmGB2d{uELsGI#$*6SaB~X{*IVIuW<(5&781$< z%2Cn-8jActSyXUEx|Kr<rvm#_D7a<@zB1#>4CX|EEGiHfp<a<AJ}gdS2hl-|lm*<W z|3RR^uodhFvKTZ*2vBc2l%!$0KY!0<1yO-H^*5tyGCVUpoXX$;^HQNi!*o_;BpQcK z1#V5qw`-aLKqMR{MPD1wyLut_fT7MEnfU{?X+fv^TfMic^{0YMD4Wd*_UVDyXEJNy z#?lf>s8We7SJ{RC$q@U7x0HZ2#Ik7MD>`G5<+RPjp@}?s-6^4u&Ul*Hg3cC65{7NZ zDs9KMGVDCn;*M6%IE=*0RvrVBlU&I1sS1cOKKQ-iJmsfqsM}>TxZf`-j4z6wAt};w zobgNYir0^&uFJ?jUl-Am?>d0&gRZVM9n&^6S<I8TgB4J~$x<|Camw@3L({$f{$dL# zt!kFLdxJ2?^s-6@-VmMhNU@Siuna_3Oh$KpL+l1jx;WE`&Krb^XGAWF%$c!lvE{6D zj?u!jnI@vuES89(*n6ALPvOMlU$Yt?@eh3h5$+OfzOhI1lDB%T1GmA94rjq2f+05X zKPZlWucg5)Xw#9rBYvO*U-c>S^0-ZbM-+(C$14sgg%PKF*Z;8NsGp}!Ptz=W9?s74 z9W?8IM15h58li=a*wAxWc+C30T0%l<&90jR-+6=0e=!Wt#0<%8Z*8+g*{hrRRG}&# ziCwB}y?=8c^nZP%dMQvZ7J4v|v)@1P+%pcpNU=xh|7<bU0^D1^s;8L*k76*j%HoH_ zdkK?^QJ9798C;$iDxcdPi<Ir4y&mPGI}AE+f4P>$J0s_$CSH$G^Ud@Mq?Bvh-_btw z9^aL?unV@gAnW`S*Sy!eTkoH(=%ZV8QY>Xlx#|7+FY&z_hpzA3=#W$82SW(Dpi%+F z*4p6q9!q8D{C&GIL~hdOh2-b}vh(oYxeOM?!aD!$^CnT7I}A!O6vR26K-d{!gB5>+ zH}|FO`AF9PUqsuW^T*W{BYAo1ua2BKt*|4#GS+ch$*dZeo4l6A$LjtIFR4c%;c?Ts z6SBO(w-_*2uiT;jO8%EfG*<4X@Mp*Dkc=VjclsN=%p8)ssmdO8pUPt9R(X!tytpF4 zwu5$?!1SwT+aJZV12I*(E?+#8Lp}T($G!qVZkn5dCu(eqOy(S~_G;$J1;J{r995<J zY1nRdiQRwC;HsBfP&d?@lvv37;#k>g*<Z)k)UF=i0dugbtSq>pJ@g`xm!aEp3#?DO z7ROJ<;}RmlJGdhG*-G(zNm<+<UJiejiyx;_5}#LjoO6t?5EXqJ|6}o57VpAIBX$1W z`)m_W3(w~FpRkzXi7ZJ)G^<i$df4!w^@24`pd4+6vHSM(WuVu?>VKN>UY+!4P352S z=-?S7ISx0?Wi%9<xma_aO-Z+4FL-updxULtz@6vRwQVuvCA&ia_^TA3JURW3f~O_+ zj-Pz=M_&!Ok+To6mc?oxc;HQb_Rby^U``i*rgjFImFs*%oG?pYclNbJUl;lIhRFKY zfo_mIF5iX@AKlqLk=GM|&m#X6$Fzf$={p(+Pb}A?h26o9H>(dTe2lQvmUO6Sld4jm zMbe6~Nr`196<#t&*Ri{)LC>G!p<>E%4HVlI%MGP$JFru7h(Fy{h`Xd00!Ju~1Nl7# z3Ert`wP6PHCqV}{)pTT(k1CJtKVm)(H$BpS6*eO-g*vMTW56>0RvSzW(%CS$(E9O( zg6McbOuY8;fOxv~JG0Hq&{`|clCo0!zFwK|r5^ipA}<*&)bngX5A1&<xPl|hp&TZj zET-ga(cCOmEBA=xVARH`(@;vyVEYalxIOHk+xz{9>2v9q%&jv?XkqwWJLxzVPsZ29 zKFwafEV62w=heQ5b&SoRw+IF3x>lmI><tkot9L>>gqUt2Wc7vMJx<mP`tnR3{A*V7 zK6|;viXUFkXhA<P$!s2&HiwXlMTl=F7YduKp;^zaCH}*Kn!BioF4feHv9t+DZ1Rhi n{lr^wwfBYuCb(7;kgL}6A=g!e9+PTmtOG>Xql8MAGl~BO`7MW- diff --git a/users_guide/images/browser.png b/users_guide/images/browser.png deleted file mode 100755 index 890c7b6d53a925ebc684e3fd815459451788a736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4783 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 diff --git a/users_guide/images/button.png b/users_guide/images/button.png deleted file mode 100755 index 6f20212c22ae700e280d79e92f241f4c7d68c5d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10608 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 R0=GD{Z|UF6zi#vV{{RZo8&3cL diff --git a/users_guide/images/call-chain-example.dia b/users_guide/images/call-chain-example.dia deleted file mode 100755 index 481c5cd9d272a06b9eee40bc39ee288ede7b7749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1045 zcmV+w1nT=AiwFP!000001MOJLZreB%-TNy9Ws{-_^_G>UcF`2bszrgB7VXZUBu3_x zA_a<$<IQ~gP>;mX%a)~RFjK@p0*ksj=U(zYj{N?^Lrj!=#8b@ZLN$P{Du@Ow#57u{ z-@n~ndg_Pe?0tygJNXxJ7%TD#nr2rEbuC2lPSdvAEg-uT3dRA!8;~OHZ%7E#q>-jB zXNvM1AcO*DYvn2wf@6OpkV0XM7OD?}UlC^;8mfg=X%{fUxN;B4LOr|7KdM&3Xce3T z*a=J!ufxU(OR+Q&yQE>#fs_4zW>Z?F(uhXOvyb*!;ZnJ<$7*x5lSIUjN0>HwID(|u z2ordwX+G}5=@kC-6l8h|K0O6aR|(^SLoAv!K4SzyS}+N|LBn~{01}xphe9!iqu*g6 z*b)ElAW8cKP%J-H	FdaU32l#EL}+$`*%Wy?U5vy9)H(MCkW8#Xdo8-eW3W41PBf ze(X7KaEQ_)CtbDaKw6h(+Ofdvc6}o#mTE&Pryy{LcnN>AA5TiT$7Rt!+Xd$Tg#uBA z_osj~ggjI(l^gb;?x(GswK!a;U-jzt)B}=WviUUjCt*+LXaU_dy$ciQPCe}Ad3I6w zew~5K7$A)ZdSWp$mg_5EXJ2eEA4rD?idO;Sv^i;CGOC;=FXCooj|J=kYXtZj;b<+o z(M{kE^xbDXMEscdIxvR8r)#!dwJ5FQ6Ro}UwSCt2D1&e4LA2C?F}4m|V0d%y!kW4c z%()}e(smrnki}r=x+{x8&n}12iflh>r1d6Qv*|k5Tya+HYU1?v=f@<Ooqu}!R{5GA z&zlahdSKvm$qPnB8+Eo`ntWm#j%C$rV|W@>*IF6gIFf3n_0F~-RQa1t8`<+$9zFkz zBa+%OqA_YeB}6xIi!3;#JK6^8%XEm(n4*>rVUF(*W;wbhY!D9c3KG}3c7dCH_kc67 zB?XMq6{2At#HpcmT1kI~xg(P#Na|j+3CdGI<tq=GY}CoUTS3m*wvN3|cxxo`iXa*t zcHSOKaddlnGGzHA(^ZyL+L$<xca*g(#7x)9x)Ur{sLKAXOrl1HwLEK-&sx=IjixZK zIdo#HXxG%%*iK=9xiueAD7`v`0bDO9v7Ku}FBlDDuxRY3tH(yxM^<~_%9&7CTfdd= zwO>g0UIA;$WHo_dShmcYxt<AMnXi^%npwV@Qu_Y)mG76`7l`Q(OhdMvo&T}%cS^eP z0|L`@#_p8cpZnXdns}Thu4dw^CZ4i;IHM<>E}Qj*3$7;Y9WHR>OR}4H3fVdwVB7Y^ z9GLq5;+;8wgrrI!D@ma9HwvTwW_!3{>{krw<>$P>e}^W~l5nprqF;+BuJhlcm$S+b P*2~#HUk7X5%pCv#(+&SH diff --git a/users_guide/images/call-chain-example.png b/users_guide/images/call-chain-example.png deleted file mode 100755 index 853e278243a081a80f953ac807f77dd44d1a5839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2586 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 diff --git a/users_guide/images/colordialog.png b/users_guide/images/colordialog.png deleted file mode 100755 index 155ca67fe17252a8f306a6979b409979c00cbe56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9837 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�Wx+zr0Gvw7yr&{a7_5Suxdz+ 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 diff --git a/users_guide/images/datatarget.png b/users_guide/images/datatarget.png deleted file mode 100755 index 86b740b9d342a8ccad4dfd2b0071ec1a6e9ff670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8633 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 diff --git a/users_guide/images/dialog.png b/users_guide/images/dialog.png deleted file mode 100755 index 223af0fbfbe93dce0d85991360a26a8a2b8ca315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3041 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 IpZg{J1kjumDF6Tf diff --git a/users_guide/images/dilbert.png b/users_guide/images/dilbert.png deleted file mode 100755 index 15b6c9868e1d39c86e3622122ffb11637bdba07b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18646 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 PIV=pGu6{1-oD!M<(K!aA diff --git a/users_guide/images/dirlist.png b/users_guide/images/dirlist.png deleted file mode 100755 index 5de021e3ef65298090f8bdb70a843f5b32c886b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4186 zcmeHLX;2i`7H&}4brcuSAVXA?#05|kMR8apETRMID?rf!30oozn+t2R85I>I#j zF^DFtf((Xb5D-*QHUpY546-l60JAa8bf4E_imFt-diDOlO4seveZM~4ef#Tk&v&{n zIUTfJsJ2QCL6C*^cKZ$?hyqHkCMxqtM6jR^Ly&ohlj9K^vWp;z2m(kv5*Zzt7@ycs z*D%yK1b_fU0=fBT`G<l3Uk0pbEeYh)sRr4(g(AqJdiko5wsFxHB&Zx_f51k$ecmF9 zCZ)^4Nc%Hn;~HjpI?Rt5f;=i{wj&{pFcRA59qJY09~9=#3`CZyez}&!)#SJ}GblX7 z-`6h;$)hxzk?5k&Xo$C`+*L2kKfoK=E}^KBM^xoU4l{ki&U%J;Bgcb4?ymm%;{Kst zr#wm55QJS*nnJ=Va@fT)B+x(57peJT@B)b`|8@T95HD{;1PNnvZr03z0PnysMBIFf zLt;vDw<G>xr@WDe6YU$wq=4A(vpjO{?)bf{@x41V5>IdbmM<eH9}?D;$-dZq$m!A$ zck^PE@iSZBy)oEPidbK~MfGUt%i%mxUay34ACG{#D}o2a5fSTFZ_MFJb&H8)>rOD` zHPYJ)a>@QB0_NXh6a2Nsd$pz3WmS#cLVTGp_g)FcK9W~`quS_Y+;9ho&Q-k@qDt`u zzSV`1?g{}3v!IX9>V1m|*o_$AjrkJpVXhKdPGIbD<_G2kJ(p<0!nM0-(XKIrT3s}= zO=ojmAYauihZ9=dtc+1hJtV!`2uK^@wnLUWXL(mCR3u#(r~3_V2t>tg2aiL;Ol}sc z4JFB@AI|?Vvp0Q?3qqn*vg`W??y^_;UyaaAh!!E$Yf;*mT?_ivNg-$NOTCh3Eo<Z3 z$D=6y%-gLBQr%YGs$r)3XiBFAdMt~xxs|tq><ZZnFz$^J&Y(?y$!@)P*#Tiq>KNnC z<#!Q`8*&KF&X(A`w}|b6&FiJ3eFuwihA4MIrlN5q?!A1Q){~E@L&|b(UkQ!cDIA4j z+H}J?oSkop2Wun-;mUXl;S%?e&~kSe9X^6u75-{pj(DSM-YXFDn<~m*N7>)T()56{ z@dm@lrJEwuyiB*nz&<96bImV5r!kvQMakWV`Ls@;{6RggBpP~ESI$4(Hpd01l?u_2 z?#NKsJ;R7QfPOs;{pNzy6OncB$0n|h$15Q^{b$A<0u}4)h$*ozsnKg!(DrZdprr$E zU<Bt|b<Be%x7xg(--sqn8NYYM3ycqEMsa?qXA{&D608mm9mPtjPC~_`LJ?NMx3Y$d zY*}Q=SR^vTaPX2*54=7hX^<A~*k7rrFr7(B&9jJ=3F<TkTUKV`-}4)T30cu>-+GUA zps`D*wbvEp!_f3BpRy?SYn)&VK-HcpW2c|<In?yuOep$gmY-H!3C`lEOX!lwDVjTU zy<BMtp;v~f{fsP*W(af~lXZ>HTI9JskE!6rs@cZXn|(jW1y=Zx-UOvTp}2PC@}ZW# z)V6(}(32cX5P4Z}7iA@t;|!YKC1N%gQSMPWKSh5A#ES72g?W8oW$vTj{z1Y?B-jaY zvJD4+*$8_tnm1Sw9Sg|V`h?N5u9m?w?Mcq&K7ztkVGXFrQX;M>4&kI#@*?<;8cz)= zebk8)Ut>Mb>+3WI$w2Vl(07aWu_p2kX{{8}DhdaJ+wLV00b8axUTXyN0}b0wU0vq< z;*!--ldg{|MX0U$4^|6nq|@msy}fy63mvSbKALZFh<^gk0Xxlf-^aZRJv?ma4~!uE zYz{l1TX%q(__PvwUrkYLwpKU>l+svJ0X+WoIWEu~-K7oCJeaNPn9ZDAT}SM!j9fKe z>g!@Y82hw-i^pBm3hjpndcd}sK%@4q^TVi?!ktNkt@+^m2)WhR3TNMXwW|+UBsK#c z9wyeVT!QiPS-M?bj~jcgegI2I0_y_nz_N4F#gBk8W*l|2IZ-;eggOZmk;9Chwd1HA zD;uq~ZJ_y~zZfJ#lSuo-6<fHIoesjcUV1UL7X<X-%vc%kR-Z_64Hz%qVUZShI7bE4 z>#$@`iXc@tRzTR|1M>0U1M>0w&QQ7k#%wD{7!<WvDmdRvVCrN!0ezVIp-i(wK<#2& zizu790;`3EhHXz@&v7vsC#GViGc_~Hn5mNvbd4GgqhA;d(pCvPA6OfM!iLsn+OwVH z%O%@w!gg{`G7Fs1U2z$5n=mP3kIi~otPUqic&45A75-%+Xc>(#$x8Ae+}`lSmznp& zjb<ygPhQS&{K?G@=Q*SHE2JOU=U=}p?}m|4+S8s-qLK1S+_$z<qvb?qa#JHMO`JP( z&wQya@_Y*QBKEh#Z$?^7G2vnimgM73%arXb2&TGB-kL7Ll1*dVdeFBnTe5iYu+ZI- z3+94j)5Uum2)q<W17p;M{Gl4y@<GzVj3e-e(oEL$tJ3f{2DSv>m2pM(rJZSd5Gi<n z>Bx`LX9_#_HNkZvIFGW*?+HAGU?ifv9=6EhcaSr|A^LnYZ+}?$JdCHSG)*P%ib!)e zzkq-^2v{kh?WNqdlcne#O|F55jRry8r1c~1TEX#Ym#@&B1NP@@piyw#Akyiaze|;q zT{?0JC_@#(VLtWEBThB!-{yXiHFl~mEbu$LWd?#}cwd|T!243ITh0|PMVxvt$C%lV z?zp2OF~=xJktn=B0a>y*!VefKGDbn;spxzcPB%QL^^(zUL6+`)WSV~L8gLaqw>49= zc;8)$aGzksddO0+%ZfJyjOyz@t4@trjE6YgHMuyw>{*ca92c425eQy!eTH+J%n^Y? zoZqz3zc|M&@u#$<1W(Oq9?w*_Ixc&aRm&^=aawo<voVh4a$`;NTlaS2@XsX)Fy=l8 zmG9a&)ix*9K)%$dy5efV4}Qx$eQd5l7Qy--LnG6MwE9Qkx3Q18>B6T)SyxedOuVJ% z&>(a}hB2HiXk6ld)TKL3(@%|lxKy3X|0dK&32&LWBhqSEiL+fgvsgin{Lt4E+ljMp zrY0}oHyA%;lvUMko0`3hrC#0#F}N+x6Ga<FEh)F^Z>e5<$9-z$nbKY{oWU5KM9Dh= zZCw*%jtjh592K&O6%>Z9$4ZOVf35Rqb{IV{%bTQCoNhbuTp~z57b!h~F?!)={1O*_ zBW`kN9Xy+=ddZlfHgpYf&bfWnW}4@?a+Pq>5sNWA?S^)Lk8X~a*}9_AkdHTuUecV6 zxRzvCPou|r&}02XW0bb)-}6lbL32;JqO9y;-3H2I*Da-*w+UvUtrEW9eF800dLP*l zuuG8fXHip_?_Ek(57bGG_IMsFd9p4oV*(kz2Ro|Ks7y8MdeM-2n)KIB-@a*a=Fp4e zSz3N$Vzf{1TH<VuIM;Rgoe9JM<7}li6q`A^Q@r-49^k^)gPAhhB+48YxnstHN4iCC zXugH@WP*JD2b9bMt~|JW<iXX=stK3dXX&tekh9D-wJlM#Mq7Y3iZb<Uy>GYDJX;|! zZL(+9(7^)Mkb;4kPW$k~yQiCD3XYw8OU_<~dzj@e4oioiKYamTdcN6WqO2nl)7)G6 z1{2}gsDfyU!Wi3pFG>O5Hop(PtI}`wpf_zCMi0-I(w}xKp1<JKLd%B5<gAnvDq~)* z2bB!DCXo?OY7%x?DPf4SdMxGnUAO+qDyWM8G$r%p@bftuqrC7X!^ed`_Gd<mw1#<B zH_%%+e?!I0GBfx0&A!!(J8m1^)KuKwEB_e%Tz3}QeG{V`lV+lxR(;o5o`G4+>SSR` z;hv!rDg6h0mFkU0@AV!z4YupA3h6!-Gt^g~#@p+h-@=OEUm|9ykJ8z+4;?Y5ZmQ`r zeRfZ}RIe6I(Tnk^*X8PFkCoOHM_8jtA|Sl<w86BK8k+axfFSA2Ky>sEvdDBSsxaz8 zq=>VB{&5j*sOIpe#V5rkN}qE(L!sE2+4lR2aJF=}4St<ej$)$6fefk>N15isMWlE% zh0mg?Xe&JA7!;M!ewBHV3SyIxkLOm4(Ne<d_k~4UcMv1_9H)>>=8=q_l8dM4Ond<* z**XCUviJJ-2VLK<JAS5_Z?^4b;0`CUDo>Nw;P*+P=S*&oan-qf>tByGo3Cu5BqzbW zKI}r;b5^hVujP&hbWSSaaZBb3Oz#d*&`=Tal;cuLg7AD>pQZm%`u$ag{uj7b#4boU xXx|FTuCZg(JhEu46tb%|yuQmbtWD1Vq?Nbb>6~XQ`Fj9C>}?M2E3op2|2K*aRT=;Q diff --git a/users_guide/images/dropsite-droprejected.png b/users_guide/images/dropsite-droprejected.png deleted file mode 100755 index 0086044717c6ec46747f5959bb7726b07c07d817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3021 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 diff --git a/users_guide/images/foursplit.png b/users_guide/images/foursplit.png deleted file mode 100755 index 7b4920a5222d12f3763b36bb1c837fd874c0d630..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3481 zcmeH}dsGuw9>>Rp5^;HG(Y4@%QY<D_$}x((A3-nz219Vk3W^|(F@yvdqCCRGA|i^C zRYy30VyHv}Ot6R`ub?1d6F@9f5fG6_h%5otY=}Y#*@-=@d)ofBd%Anho}M#z?#$<Y z@7%fH`OWX%b3{M9;R>@A000<z@9`u7z%nsXLYM0x#GqAl3;=Wh;@<sU$SnXo0RRn< z2C$M@=>U+Ph8*d_7NK-hs?lgZ2!1>L=D`1_15u^DSCE<MNAEch3jjuswPo4WEk^4Q zh+=vZyinabM#d(~FcVutJ|M3@F>xoD$D<&il;5!jK?Y0&d4jRw5H*@fjbZ>M`WBW5 zU!mo@qM{QZD&;s6xMSSmh)|;s6avGv($ASxItbXlGuB61^tCMkQOB5ZVGsx$iq>f5 zzyI)XYHWC97$Sv$nuk?v1TWWOau~#*GAO{qb>n9dhWfGp2`C%{W;LfLmt?!5=yZ_5 z1e6^)O$gJ|%Jx&4ksxq;x_dK{6aa5e-2V7$Q-fJ2%fz3$fB(d#PhYMvPqHMq#a|6N z^Ax6CG+F&Pvcuph7P|cO65HbqW2|V#NzymuSA{3mQHvM2StxD+C$h3H-l{{IOWTW4 z)kQ1I=iV^x#lB8TsTE$3r*gmc&sNd;=;XN9s*-Z)^ImZ|v@-tb3UCh<Q(uCfX)lw! zosJxykqzUsT<fIhnRla1+<|1i1DKJZhw`D(;L*K}<X3A@U7vtz#hyN1fUs3!9~4-& z@r{t(aB@Vv&*w&Y%AcoQy!%=kfAE+KevmRb8__1(Zbj)5`8lbbSF>^;XQ3-D4_CM2 zptr$bT4>qMqP;XSEoXS&;zrJG-S%xuUUV<Az()l{zsIECfhh|$b#@M~JRGJBrQ+I$ zO!s?<3JFlZtLAIN17G@t>8iGZwhbb-WSIC(Is5LGD2h1NN@Jkr2M81b=prfN?JVkO z$sIDQx%jN+U`_gIsDv?erCDnVd^sQEe7sf<&Q9wlEVyUh<S<QO269cT)AzB%P2Bnf zY&f<~&V8RS_tnfX`Ar2s2fjCuz%JrAZ$=MR;T+b7lG();L+J_~{gxff30GKJmB_yU zpY9mZKUYz3XO%@w;V%3p+0{v%Ye|67p|o`<A7WvFXYG9YmlDW_qBsS`Rv1iX5(|4L zTMC)j>jo_B7cGT7*h4pb+4LnZrk3%z<M8mKXV-`o0O%WI_<ZU8tk8qH$XD0Cv>9gT zeZ6%Y?ZM|U%H35#Xqb}f>oV;`Dr_{RD-F51KbhIT^!zy8e+%}rNsEIo+f4}+5~D#N zXN`?66b<a4b~Qp%VERPz=oXi_ikC^rVS*<Z4$*a}&0jdwdfjOE#9E;3%=Nc+F*WYB z@_7$6euI#lm{cDiG{L{I8oHY>Jo`>OH`y)~$C$-IK8htTy45XCnOJpBQYt)pbPm74 zXy!p<x2X10pBmJQn2}46>(=E|!Ip}ls{1@+mePLyc4E)7Lc2!z7+)FLAP7(je<;A1 zt3{XB(z3B|Q!O+<<UC?_=SK_wLnD6PJ%BJbm~u%j;~lT^Fy%kJE|<}dSMT-iHP*%! zVm7?{?pkzqXmBZySNm2#Iusln`@OHO#@4?-Kb5Y_bwwNEFh8j(C#D^iy!b`IuLUR2 zs-}#AK(y-FnN$f%)%nadAG>YZy0lo<dl4JbaAgLUKoAdCpOssHRTuCBVU90Nb8^9% zl7?`vGJ#FycCmE~x;?}}PAEyvW4VDZrQ=7FQxu1dB|R{W6T@V#1U=X5IR?WwZQ%-1 z*%NM{IB{oya^mhf<7T25o-LY%b!1J@DZ&x(wWI00yTkqU_@JnvfBqwm3H*Gk=Fton z+aoT1gtG$;dZ-tp{nCi8tk8kE5?Nb+v8=~yBf9GX?QRBVbsEVW{-0Dg+{AzDZ8@=% z5)!d6l59r`4!(y1c_z=f%?iOEwx_)H*na=M?b_nv&XeD+7g#U4j&$0avKuXNjprG@ zR|no>regUQ%q?b4%&PgP^ps+|>aLJE0}01S@?GO*lcl&&Ic8%Cbhsukf<|N18?v&U z9#+fs9`JY*CzB56?aNDe5#XP(vaB_zUD2wF__oT{jn3>WccEAcU;2;Nl%RCED_Or* z82v1ue`%nxyvoCQ>H@_(LB>FZGkI{mS0A}YG_puhuR{Ml(v6gZS5=6LgW^Avd}RgO z1mrlW<*x9I%u77)p1Ag}1%^jcvzENzEDRK?#!?21+j@qZD(yEOVWDZ_vE20eB>qDF zO0o<^TwK_6=f+5&O$L;O?OD^AcyYT@Y%8w(Ol&O{$>w11=-mgbGf12ck2R75mM<vi zvsa|$wYRPrvjl;!$bnMv=~v`&%L#j#Y23qkz^U0IVSiLZ|IHT|x6Dd&r#vj<@y!#f zFPnSTrXD<Pi#Q9<b9Vd}tJh#&F0$izuiamK9NX;H0;B1Ds}pMriB2bYA-PGN6{p+@ z_xI;}d`wRtmX?4bXVvvprS+YdeX5gRgliW@n~UKa&^Cw7?mt1dwI^gf&+#`I><+On z>9|5ARtM#z%SYCT2;%r_ojuWqGbyoNqGzij9m%)YsvX4`nD<9t#?)0yYQK3=WaYUr zD=>GQ6Is0#lO0OQjKRBrENXe)*l5_kzw~6QE4kyBZ4OR-^Id6#sF(i;il>)zH}!^A z^qt=X=SEsNm_K^;2Fvr7-*ZV>O1^`buEjpL{*rJ_@3usW24!@91<pb-=Z$y(czgMI J@;yS+{sAq@)5ib+ diff --git a/users_guide/images/gltest.png b/users_guide/images/gltest.png deleted file mode 100755 index f764d56942546236a097ce00ef7cd9557bfada03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4508 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 Q6=4Bh9)9jso9O6&0F#X#od5s; diff --git a/users_guide/images/glviewer.png b/users_guide/images/glviewer.png deleted file mode 100755 index 675d1f6c013adaecb10ea95f2ccf8f84ce81e117..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14242 zcma*O2UHVXxHgLIv!Eh2M4Ezvf`Sx52pt6JNJj`LNDTyO2@nEG5er2rQbUp6!6ZZo zMUf)C7l#Bynv@CB5~SYAcka38ob{i7t-IE+)?}Ey_q(6B?Du{4p4W!@nx{@&KEcAm za!Tugx)BS@K@j@8aO@ED#3)PrD)b}MP}k%>^s}<Evb?;!w6wIixVW&eFh4&(H#avs zJ3A{YD<dQ0XXY^+4wssmnw*@Rn3$N5kPsIa_x}C+n3$NTsHnGZ-@bnRIwB$>JUl!! zH1x%b7s0{7SS%KU!T9_8qtR$zUte!;Z%<E84-XG_cXtE=;o{=r<mBYw;9zfW&$7SI zvd{A5$rD>!TR0qUWo2b)X=!e5Zfa_3Y;64S;X?xh13f)G9UUDlEiFw=&HMN7tEs7} zsHi9@DJdu@z+f<0Sy>qwnY(xIN=izKi;IhiiT(Wf^Y-oAA|fI;Z{8FV61sl<`tb0u zfPlc@;NaD(SNr?>`S|#HdwY3!c)Gj0xwyDGJ3Bc!IosRYIXF1JfB$~r!iAQWmUHLM zH8nM{v$HogHnOp?efjd`)TvYT_4TZ*thKeZ$B!Scsj2z=`EylO6@ftb^yyPYMMYUz zSxHGrQBhGrK|x+#9?SFRIXO8WKYq;2%uG*DhvvD@!jhJjmXeZ^l$7-0!-x3z_}JLk zckkXsM@L6SM!tFT=GCiLFJHb43kwSg33>kfc~DSLU|?WCK!Bg09}0zHVR`Q3<KyM! z_3YU*BogW7=H}|^>g??7=;-+L=~Fv9yT^|o+t}FT3JY6XTd(Ile)Q;(g@uKgnVE@+ ziII_!p`oF^zW)CHzOJq=B#O4S_JaoxG&D5S)zwv1Rh5;MS5{UO6&2;><>ln$?%lg5 zEiEl2B_$yt!SbBt&Ye4=qN2BM-4YfSzH#FQ%TpFXLBVU+t_=+h@$>T!3=CYka;2}Y zkC&IXr>BRTo4c#4>+<Ex9UUE)E?sJCYrA;yVry&b`Sa(So14#`J^St3w=-wXeEs_M z^y$+L4Gkwxo~)~@d;Xl|#EBDRGP%0CnnWTIi9{BbeLNmdBR)5UZ1kefeG4CB4@V#L z6E6oACl^PFXGo_j5~5O~64^GIr&(C8uxP2PnD_x8HA3yY`L@`fLvKR(&D57J+^s~P z5_J956OVZFP|d9`YK3U{)HaN-;MfT{Gq)SFDVMUd1sCqNT(Z{@zk0&?JmO1ZgI5m$ zC+Uv9i2gyxJ}^Ti-Chcsos@OxK6~^a`&E@!p_*6t`R}Q~qW#s?4-*9V^|wV2^HaWM z;%sLAe7eG~3ak5v_Ug<r_*&fWaxTUlSE18e_y0WN53wPa@s8Na(4KtURlF+S$E!?Z z6I-#Rvd_(4%p247n4CqPId%?IKRyOnk&xiC1c`tSLGEzYE?z-$aq2CCnp~q25WbwN z!wM1_uhNNJZZ!kQ6h;=$qyX6NcQbD6$ZvlCb6{B9iGc2RbqOiq)w5>gfJ1*($qz9y z?RV+yNl~<7fx`qV1o}bsxGqdHe#NxgqWCk5@WtHaP7%(He{?OoDRHyoNg}#eJ^bVk zH)239ar=+(FQWP>?-88YsPvIX6o*2b?3pE3bF2E73Yk2Uixhn#>?xRLiku*Jq|@P# zCb!hSsFH7bJ8N#%BRK@swAZe_j;Guf;j99x;BB9Se&xl!K!ssJZMH}vN(L)Yx&hoR zHLg0<Mu7Xng~(bWrg6&&A>Z{xOdHq%_9_CVZ({t>G4@ooo#9}GkQD0}<;{ZF6~|kq zL;9IK?CXH6-kDwBDPBNZV^)9v?C(l}GhZ(@sa<09j)0|BZ@sS^Kf3hl&dIc{7q67T zV~4wS?qA8|dGQ=|_#nW3%vtlw!2)=Sv$D0Zo6lrQ^3OXH5f=O3D-t~oLKufuj8vo| zUulB0Np_Ibq)q--g*r+QP&FYpn-$l+Is~x47#6*FsVt>=>G8Wo9=l14>gq)$9k7i2 z-t`(-dTdAFaxNUDPI%R|fJ)AE$>pb}+#AH+BAgphnR-Y@1<#rtp68v!p+2%m-*>}} z9lzT2Q52mGzp&^^OW`};bR(_$T1B+qYf3k&YIJ~>ha_dg^J^XgUwQiOftTM(6J_{G zB5Va0|9rr(M}(uQwpwAYoYPR{USxj})0>oBrSl))w6fH(;qEG<p&H&%_8_-h{xg$# z6Gkv`_tb?TUGAuf7u1fH^kZQoaEY+d!D!_$Pi5Hu3(Nn&Xr~;fcBK(^36wv`KK?@c zpBFX%iQp^40pvr<xnK`8W3)cdrp)$-yq^JSZDY;3s1;E(2QId*?3}2JN4@3QsiRWu zw^#ke8$M~>`#;}NA@hKFyT-kzLFjr?x|=iRlpDlSjDU&LmM_<>8j<Pp#a~>6npWXe zn{_^^RJRdo2F>Swb`fHPvK!QH;5$~H3<h^SQ&L(C!R|w`Fv;`5)Z!H^KW@cyT}UzF z6KZR$cB@DO<{u8XP!1w)#>uyO)1ohXgTI74tz71&_mj6Jxy_ayI?H=4xd^FaJJy#a zG|^K2^1F^QV?;*2ZM@3<8bY_CA!7(N6OjibAJXjGa}^*O|K_Gfo!Omw7bj%kYQsnz z>aK4{iy^L=z?Ny250@^3(+TD_Pt3yNZA;^Jv_P$4X>XWVkfqC9?!Kj7h{*?XEnHV# z$e<`#M3;C@5^N$)N4!=nN;GDZ-C!gLa>*{ajZiY43~`6j%gf-~+9yis<<?JngY?E{ z{kMD8yWHYY{5y^%3NxOEmqO6gsfKqS-vhEUJw+95`PDc@Q)&2RuTRh6iDNez=8@IA z(+%8l{&j62P`jW)_WL?-bAMHgA(l04aF%8pZQ;TZa|DNKyw!etH~kT~o^@{|?s1Uq zNSr4gCpl1N72bXnD6f`I@d!4h?kyBQqM?Z1s(c@ILR`je4{Y!6E$_EeUQ2IR{51&5 z$O(U)lMv=pE@K7r>Tg(m%3<rGRCw5FhxPi5yf}Vwfo|TkUe*DMZN?e#RqdEqf{{1u zk>+eiLQ#_*`8MRw4}(qml<@7J9OLW4QH?rBIkMq+xzHWV0`aYFR39=$Kmj3R?q0fk z89(F(!yZkhbkiF@0Y9|cHfxXPKc16qtfvWG2d8sRj%K3*`l9MtsNCY~5-qjJxm<Jo zM%o%hbTCD}k0(?}HcRxK1gwwuNK*kWc%_}yX1LpX$yTn5ztOQ8&ZBgPV06UkB}Jd~ zY%BZCENW(Ero;>OP?)oiTtXdkGhE<Qql)s{)@CWrai?_UjfD$&lmzoM!Kt*~4|5BP zG+?L5al80*7p(;45Nx*Hqpsje0PL-w<l$sL`2zEG=PFT&L1KyYz>lI*`F*?s$hYtB zCy|V1R+KVGM*jL=L<{<NE>g56b((@=e@7p@Njlf)HfPhTC-xgxduI8K{a%0H<%m0c zD&O8*TsRTkt8o14EC4UWb%Cp9^n$Y|E{!BsqZ*5W<Js`_vSCR_tc1J=z-U}M{T6J` zup8f2Og1mS>6>UnuC;6|cFP|rt0d!r8L&KP<`9?`pjQm{lk=L_=N1GmtcohBx}uM@ zQB^4GZFj`V4ZLBuRl_J{Ln2ATk@6CnFJjexWGjCM<6--D975v>dHMpbK_f2v<*}%J zL>V>fjh#1axyWg>2Dfd#*W_Ugma+2B_-T;kq}_9I^ZbuZB`+kR$VQ$i8`JNDhtM90 zlXK+({i0^$fLvPsaf&thPbea~d{mKhH5fh#N0NF)6Thi8-qYf4(bg!ZKGA`Vt<569 zRSLRswmnYW*{|KUY2e|NLGU2M9QAq`U(*o4(LzD4zPS|hEaE<rqwYjS5~W^eM=y-+ zvy8L(qkQ#;<s(SbwmT))zyAZKd6GAsG=Crqu_L0Pbi_x4m0+79{haN(SwQfaQ`OsQ z_~x(jc?L(-aa&b#;*kCW0Rp)qbr3YN;~+Ol0R|}u(!;jz!B=+k;eI``dPwuijBDx9 z2eS+`eu}!z{m53UW5rVS!-5CJ>}*KI4R}!!tI|WFPBpy0ds(7SbjF7mCNql~Fcbck zB018X>^?X1L25ZK_J_mA-MNh5dO@z4a&fF+Kk7aV5APRk-?Jp|_h=*c|B9esf8U(3 zzkY5?h3pko@4Tg$yt5Nn*s+^ah_a{BsuP40#mj<@*}Bek5f&>k_fCZEq27~iV3^0h zi!Q9%>RlqTHb~{49Cp@7ytXD-4ZqR0@#bFR;GNZQ|Lba<1QEE0+)zpvlEgKxbAe1m zrOUV`iX@lcK)YZ6CPH2$rn<?Lk14otY>zdceU9%fTdx`W9aq_Rs7(@UrI!iMXjI@n zqKcimNm>-)EW!;h#`@TOgkKtES6FjXDDv61m_uEyOGThBNEV?!wt>jmh)X8;R4P)Y zp#lB@fM*SqHJPV?w$(vbo*7rMPDrA^xymfRi1eH|bTc|vdl}ye=YfCJvgX$Mluf1m zJ}dc{y_bRvI^Qd_sT#0PnMOsRtKmh#8vu{1f_?f}^E$F$`?|bjdsDQixG&j*;4PL5 zp?i~S_ct4CuW$q@E$w=juVrCR*70fEt~{syY+15wrriiahEu02u@Q$dpEx`r1#FBm zCuLaCZh4mOMGk7IPDYt86U|`x=7Qs)sg$zFoc1i7?3Z&g_(sa?v+k$l*?9Ki?Xe5i zK;gzEHXu1M?pclHlNR3ZiOCmQd_XV7k+RE=iHk;`BeIpzKa<v#Q#!e??9U8}#VK+g zuR%n<z!C@NMVILCvOfW4N#D=_k5L5Xvnxk6f`~V^#EKt{9dTO)xgYF?NY+};Wk!Ho zhgyeA?&vuQI`toNkuI9b;B4R}!aAcxXDbHW=I)Mx-A=^f-CR<tsl>~K2#UOie%zRE z1}OwDTQa8{uqK(-)wjNEY%DM49D#CXRHD|rS6(-e$QU<UMX`vgU@N}b{IS1V{!&9z zcZb&K8&iHk;Wiqu<A$IAeM9Z7S;Mo?i2vn{gY2^hKxP64Wg5r)!OiKHuh<kr2<OzF zMhJW)2vpzS%s;CFWg}TU>{S35{FDRAysXLamcsyhRvC`8-10<ZAG2{FrZ@VS5m<}c zSq^`45PbEs3sjWluO(|bYbwJC0-4m8DBb)DTg1y^)UU##(|n+Oqs=q+a=7=0hy>Ks zUyf@@1Ob;Z>`J2v%=3&DaC}=p1WYmb!2ba!2IV0y21Ui}#jqBUi{C6?*^s}zgz`T% z%sW>nMaQn0@eMJuMX5;XxxWMb@jV%Rfwv+Yh4@QxoxED7RWo^jL#5QLzOulUFmX~U z&lz=F5+b-jA(s0vkfmS<n2rLJvJ>cXYL=~Z^k+pygT8K>wqctxCX;Z^9i&yqio2rE zWTR%ec3(jG77(gNZZ#8LF>L$2$Zsbfd(gJ+l1=oTQ*qUPbm?%<jL7_P6gHS#m9WrT zWyBNq_webXPuL=Vy5xH4jVqnM0@iRe(esY=A?xoYF1HwI8LlgPb*|2lQR1zi0v<^8 zd?+~OvCF6C+$zs0GM~rC%KiZSbu{OkzFKN-38%>bf{jY)7FAdVt~K26<<(z%I!%JF zxh6R~wS=9@ZoOtwfyt$sW~*XGT}JeuOZ1g}5H<snKfFZ}ZvQ40H@qs2z1km9k{Mh1 z=&+J=sFXhWQN^Ou;YtDbNK|ojzTse5Q2H4{go(^u&A^PYyOKeJukWiTU;1jz`VcH@ zD`qcO82m>gFcX)A^t|-)7k3f;C!&s@qz0vnTk7SwE-k_#ubKnIpZ(o|zYi^-oJXLT z;9;J>=RBbB#7XUpDtA^94_1ObPr<9jsBePT5|EACqkr#<t{i;TPs6iGu%f`0A0BjR z70e|U%~3!0EFQ?>{=F3L5$)Zt^|0PigF#Ba=EBx)`;zGbZ|R1cfy$6K@VT%JPaFZV zs9Ydw_D|o)bINDW`K2HD)@UA>x_!)<U+{~s--~FxJm2r`sI{WxwWH*IBXy=OC-pli zk)~T?zarkGd5-skq8#>gB9d|iG7M@AAgeDIXG}4c^=|xAzItj6Co>^2k*pB1sf6Wi zybj4BAk4`%XQc`wMCefU<wGEW*iy}eEBmy=p}TAfls-q-@BpD#R)<GaU;$SIR4~W@ z6B7*$A0J2jD6zShb`Ct8t)p`3KBAvP$?xYg`2d2?{D5g+vG-XyK{awltC8BzK*F=Z z^npJ)^zM)&=w;DI1m~4(2N5%er$h^Um9w{jGb5Y+)7>;2PdDvI9Iul_BO$it(IX(_ zQES{xkJ)`0k4izYtO6ex!M?@go{R0??{11EURXrLX`)tE2JEIb$1Ir38}wL%)&qIe zmfLj@;-QbWhj|syAAW$={uP-;tGh~jn}2$g3O7?t*Jy9r>aJ%0SQy>hxPRShTLnfq zT1<DJw;LS#F<^t1ai^Ck70{Iw&)4>prI0e|Uya18Tc@W>7vCk-VwE7wdR@wk<1+Kj z_t$=W6I*ieNHX`uuYO}paKyr9Z2Y~ET_N|`K8RwrZq-?$+=|2KIBgP5_XUI}KWHSE zSYo^Xdl(F7D3Nj%ilp6<Ga1YKg5DW-F-SmOYkRGrWNEZEtnpWDnZh>jbEwe?&?5)G z(qbSvzPoFmLIIu88e(<E_ZO4)*Ty_T=t_HOSbUM=S9n&ezaU+ur92ymBQwTjjzMwZ zC$MPU*}!|(krFoGG_g6Khz{C)&`*24JzSFiHf(UO)x*d!-&fc4lzWb%AHnT!`+Db4 z2%R26=fSW=hoF=qMUU7YMg)_!v466}B4W6)JA*lR4{N{0)r}Ym2hD26ifBD!@eUQ| zn&?Vb5^*v=?%QdXrStNlg!t{L69Dpt=#NjO=>4y@!E9jtNHo3zY!0>_WUNmp{dwHn z`%N=CIu{7uT<PK*QQGp^tGga^n^0_Ou>J{vnQWJ^-Cx8DH-Cix4n807RN~VoZ?8hS zzLs^5;_lIydk4Uv-e`Y`D*RRz2t$3?_<=_&x4-xr@e->?3=W><zD+5g$m}v%Ys3}) zDfTwI1(y<Yr!85=Z)M<3mQ)$py<_A2Ri>#`JZH&1i$mz(=J%E5YOq=5f0Va-73-=z zz;WzY6|VwjgEm0Qct?pa1Y7k3h0fC?%Y?fI<q!))LyKlZu!}=EUAb-WOBy(=H}X*z zPgZ!%(mdYuVR9E9hgdy(0*2D3jThVcH@}~9%A)cC;tf>eoORkwSB|)CT0Q1yJljX0 z;jh^(O1@r$-LUSEQGVaT4~f=~u!Csv+5UePcnZU}miz;J%pxVF^>00`q5rO9eCd5Z zrQdKIyq7A#0z`ah19GS9o%n|KW}a0)%Mg|}o|~{wEu8;naR{_aSM(edO)`%&yRHG$ z!U&O;I}e<*@&@DtVM3xF?oS@t-6YkyEx&jo&{~H&0Mr$Yd0wn4CoGS)TtlnC-1FMQ zx6fxKw?~U58<v;pTa&!*@Ad;^R$3=So<g)PyEeT!TGOEEqXORlWU2jd|Da85t#2z0 z8~Tz*!PBwb*O^h2@CILj&4J&dkjaFOu0i`Lp?Yb{OSW5I?$$rm#%Xxke8cA(xFR?n zE=#E|vhm)ASEbp-w0FK?Pb~=NIj2KLj#WGDs}w10G?Jm^^T6*ot@%28u56sNad;#A zl5I*;w3w-tVSe9L(S^Tn98R}}HWS}oq}Gui5cYER<|U6{kY8&WPjl(SlHHf7Vh(>Q zJQ`q(SySf-I*YS;fI~n<mx+Jie63Wy)IQz^u{bmYTB)<P?Y8x6vRxFj+4-VUsFd{@ zJ5#hC*;z8wJxbXOL-D+Uq33H#%`^56u|-{i%}42cXWAm~gPyGUP?HnrtmG~1!s4&Z zSgQr8VJDflk2c)?t~wa-Dtzouyj^U&=M(;JG&}XKt)3)i2iV|xBa<NLK^@2R)Q5i4 zh%&&***o4PU`lzMo@}dQ&{fIWtc)zxo8G@*S<e{ibu~5Ha!zZy?bzmlEuoHuLLY7H z%-TQVl}@nxOCU^8@Vd7`07$b{eA+}h*IoCQ9%Yb8CD|9=V<o>2-~M`a)g;-cXSley zIxOvCajJuqyzO7NX35JU8A`SZyb14rl=w$V3YD3vG;Y!FbLrGPqhjbktQ7r53#KMA z8rEs8q%3Ma5W3dX^>cuBS>KcuUCGve(f4vLV#@20l*dJ$p$gZ8KelQC0UAE|k|FUQ zw@0R1NR}f=wZ4|_T&pVjtwqxQ&tCS4=wPt5L(+p9it5}v)l_oF;T}XVg)2TF58ek? zsw=ybN;-c>{*Ejti2U8zSu$IUw<2`D?htw4Y&DwYXMg-QaFc!@^z<n{-@sqfF3W*F z+gG8ee1$-MX`IkVWrdt`SB9i><2!t+6PZ3FUz~gc>x-(wJGfaRdG(gSw{OnrNTYK{ z87J@Enf~)#Jl|$}^4EqeV}Y4u<zQ1K{4?DcW>~-8afHr8a+tI~;*lfC`905oydXIo z@1XDIW?j4~jToyM>-C(<>z_uB1<><GMNY@;peT&E;50@2mLeq2a{^=G>PEXEh^6}# zVsDTN3!YJd+RvkRD`jt68O<Ypd0EXgleC=4HYIj7K2#vv+;ZZ;A(59noY=s|WSP9K z&7btMkfnY}BgcQj=S%r3r(K%Or3+BW*Dexm8>+5|DVCceMK1fV9C05OB)E^%tF`{p z(`utsrNhvSF(G>;ETplroej2sg<)-jg9$4}+etQ5?Q?IX35e8p6;*m%lS;x^ELqjH zZXhpK6jIUX!(r0?-iy!%?yLGG=k?i>@qd`$KJV7KJ&@Kv$-^+llF)kEw?tiSM}rhj zoxo{N^kx<KP37f?T79M|py~4@F$cpV%|T0pIc;-LT-(BIIAy4jV>A;(#5XgC$CIY_ zfajmw+pgneE^zqXTBvv-w+!`QztYmwt(8jhS**vIEnygJ@;7k1=z!JujJ$^3MccJR z`Ijg@M62a!RgWG>jZ5BGbhs($yxh&(mP&R5;*&mC8t3bCxwr{yE$~||>xt0g4_){* zx)e6jt>?d%C^Di{<GVb`k#qqn>XRU7s^8X0G|GQh9CzLK`k6jH_PNZeCSLG*LcGt- z+`jAnteU0Ezw0mt!B0vS{=9lP5uNI%k@OU`F)}enp~GEcBG-&&OkT^rtJkGPiBN2n z2o1IwJX8`Y`&S&vZC*RnXt~drp!hiR8S=YKc58Z4($=?dl4!&Bwry~5Ko5FU;09^x zmfOVXeCbc|fAc=p22YHSVcZr)X<hnvMDj}qCZVN~6TPrKD3b>d*xouC9K1T;7~$JX zBcjs6K{91e0_cgp<n?%eoJ!tarxD{cmd72iTZRkU1-_4(xH&h#(Uo%sI;@u{N#2-A zr}`#daR3VL213;$_#h0Xbhq(ydBkZ&L&e7v;|kbq5FGLF*vB5C=g0Hiv$!hyNrv7O zrd2rCZIHUx-Pxd+9K63Kwvbup>EwNdBy)d~HZ0e(?}b{Iv1Nlv`5F4R@5R5ExjA!) z?c`-^@#)^ghz3ReTe@qzh`8X*hhO$QiH1#^=P^ws70|MseDp_0v5`jYij`Aq)Zf|f zf5eWOpH#GXDDL;HIV;QdG?(J9)Q8y(7xZWKvDo(Tw+HD~Ys*S6=^D;Lr=1x(lSnzX z{!-t|N_u;=rpi8nh+u`CKTo#!5`vyi7xdY;Mk#Gj=kZeI4I3Q^#gh9)d+X^v#+bvU zkrDWc-DjvGEVvM*<hMpiem&L7%cHRMTPC|ctJlSd5A%zxRgO#E`8Jp#+T}O5wcN13 z(WbPv96X6wVjr4-k{7J`=MJZQ;5OwhsXoZ1eX(!?cTaq;X=Td3H4=6`tm46+cvcVn z;Ozwr-_8bOBI8yqdU;LGnK5D^+}%h=^5#gH=gmdq9MW48SBa#c&F!&)ytGuGt#w3P zed;~We$K7drKRdM)kh6p*x9HU4{AMjJL9^}hfQ7>Vd~bB#s%7f{DYX>lRb-swT$3E z?3RIXcSeTSUWB)*c7~kq0^#j|Q|;RLa&T8+`u>mIZAPMe&`$Mor5em}N7{=wr>hZ8 zf%oisZX7jtvaXTBZZ*pU*Z9qIT$U`eu2WpgmL(xO+y~^8o}!?r(~=+|&5HJC1lBRc zXjrc)>f-Wl!0y7>a_x5dnTFs$eXSXt`#zIrmF%FB!NcU{x00hS3T*vEvI@+Wu{pW3 zVBoR4J94VX`jsrH$YX-c=!q5Ec?DHMb(Pq6=_k;R9?<TO>t4^)b;e$@(mq{jf5&@! z;4kYkHTbhSui<KpFC>J90q-;0&j`A7pJ)KbueV~nO0~f;M!`E7HDZd4{D0pNV(_|7 ziUwbcDuR>ng{VY^+@s;ZZj(EEpH72%C>vou6p*}eWhSAtltFK*E4x{uhB3w^E*vul z?IuN$eYf5xB6Y~G(G4-S%H%(nH~rIYPzZ}^2nDMCBvQ5hxW*#1C}7>GBA}j}G|!%7 zP;OksjLv}n`(B#WVlVH{zu;<qpEAbSVg%hWt%gx1q-K0vcnI4iU)e3Tjw?Gi!e|d) z#Mn@;2NKP#EM%^so!JUdzY<U%cY0FL@Z6Et0oT4ybR=FYA+FgSCC^7(P{#aRpeJ^M zG~zj5A@MQ9j^=aJ+vIv1XA-S8jGovIp2p*o++2lpuYZ#?&!T>ZipBYh2fzb;-CX{~ zo5$nkUL)qd_ab4{GK~QNzIO=?B`Ewk6L1Fgarn-X=|?d%{|(Z%GMQ_sciaLzJ<^{q zIPLCgUSsD+7slTo;(HBnnYQPUzd^|sr_S|S!5Bo@Sv~i2F2LW!0UBh7M;&Kb1}5}< zsLSfcqmmPv%E4sNsKuImbdi~ke=Vl!c?G}U{}s*{W!7MB>ALnrb4&|VMe@c1w$og1 zIR9!OE1&{6;uXsM$6m-RJy2X1am5UKm#}S#F)sJw(3cF-tF~fPkvl!^o>~mzab~=y z=Ow>CuL3C0TMhqMDR@Vqf}LAa4k->HJ>HyzmZk@Y3D+j%G73r%v%D`#s}0d9nvm`E z4wn5U;zs?gx=f(3krCMt8p8s%yu85%e*G~KJrtJ$$Pw&)Zdw!O#%^IDC9A>7b@;L@ zDg#KcI|zgdSE`ZuyrBtO+Hp9lsFH&TaT?|lWpQgK=bS4LH<I0)MvUKF18r{cOo>-x z>fdsR=?Zphen#;pO10;1x_s@ttUV0)&i$%H@K+YMUm_vu-*SUCrE$|*Fg7r%x6BG2 z`n~uDJ6APTojm-hi2B&N?n#a_!%OcD8{qHk5r*<DJTT$vbTL^R8KVx4mj%z+{M%5U zyS}$<cyh_n;na0Js0%;G4%FE$^_8NO)-R~5vgLf69HW#K+D$hhDP`4_0%x60*QTL( z0o$SmoO^EjK0BW?hxg}PRHGXCyr2jy&k8Y@rNCleh$P^ZB#=VA$R=dfhk3J@4AKcu zPug4A-RttOdVfjQ)6s5}rYd=R2(tl+*D9afJA`zqcI`0WcnOuLS3!DW@kQbqq=Ku( zby^>anGfxjdU@}F77B%Jm1+<TCDSFs^BO2FHNSiJ2Q2pzuv^Z9IKAmvJGd7x<lAw= z2(lM7OL7p8?V@b-&5q&o5ZyqCs6wq>4?I;^_ry|H<p`wf?+EiRWLe3Zxlb%Lmh!}* z@t$N-zd;>TpXx|&bt|}Z2(q*yg?CleiTAiZ3^|?mDNQ;KJ(>j;z3}Nn#-J8<w;2jT z3KoR7g*aC+T8)^mAk^<Ygh5szym!0^JKz1r1hSrI!#1(0P>wT@;Qlj$h2?w<^DKaL zC8GT`^S|%XE;u4?R>a#`Vmd-j!?&W-?wo@<Eg|6b24hu=>gwwi6$H_{dFdDIjk2g^ zC{cNVP6B>=>4uGnw9z8hC$AH4s<8rs)?p|Np!He9!es>Y{d~*osKKo{&TjcEoLmdr zuEb=aLZ^T{0kI9ZxN>yRFP!4M?KLLYKdm^<pg>@yUap<L<N5?STy()?8~-vg>F$x{ zRJ2*7yr(B~Mi0s=CQ+W(t`cSB&50ZdK6;!I{d2iY=E*ozCYep6m_AfOr@wB)8avM` z9)g5_I`V>G!ChGU)Lnn=WrD$d5TbBahdC1IOR#56VXTr&{rC+T$2GrSK*cu^zgus( z`6~?73l~|wrG%Zvk!cj6Ym8*3Mn1KapU1|&`DNzxDqMH>&D=a8-o^NHr4HNGYJ-iN zXb3-LO*kWJamp+o53CLMp^B0y`Q1#aLjc6a$`M`<IeR2q^#&Px#nd0w(AC8SK%|&L zAc3`zn%wN{L5mb|&aeQ8jOTBr&KZl1Gi{9nys7FM^V)`JR9yGj+p8xiG@3W#-pmPT zx=GIEW0juRGRfk}zxezT`UbP)7t`TXT<|MeerW<t>kt>rx)57kqEO@i_OAbN5O&>{ z+Sg#W+4tHwuPY4d{V3>rz1ht*AK?0!(mXwVv1EBv*57Jk_043fu`R<?<{C7Nvb}-U zlhnJaT&8{XUI`ZMP34QqV}&rr2Xk(mpWH^fF4JsAZ0fUf?#Kv@Wn%TlA7$Zy?2`S= z$<|hb8b9U~r-_Wov#j2@Vo6`Xs;SCVZLBbt60I<!79E}ZE?|WR>cVhjT%pjJ=k}Q7 zWhnsv$*QGUh#)5Vqd&W+Ugeu+RH~GN93)Hu!T_+aIFm}f1)q;)Cu%yBp<1ehoz1O3 z`7d?{&0G+0_R5fED!qv)gvu<et4;zIoBbfFA@m)^+lv+Or3~gSqEaXkQI{FJTm#JL zXoWFq-8iBe6DdMO5IEd*wP~V09g&y3`8Q5MVx8#$xz0B6avFo~V;lq1<M`$0D&I7s zljBc7&i4x_Z!KpJc-l#56(THFh`V%DNu*HNV&v~0heR0EObi<ojRyn3+am;FXL8m# z_k8-twz^+`Mwz?!S!D`k4w3Hw7Xj03g%-|Ku7)y0xBL&F9;ejPbqgk_85aay%#Fw; zbw3s^%6j@E#x7j{Ac$TbA_cd975MEDL4WRwzOwYs3kd#hfu$oyp^(9&HAaK|!#o-A zUl*?hNIrvvK>1I?HuMpBPvMw()t2qVte`WS7+533Q3d!ehji)n@;U;R=RToihuRYR z1xMJd%?J5bn8N1Zgc=h+!t17q<~gi&^xiJ8vlUa6n$sqJ82DyLp1pmiul}vfXVl+W zwIgJ6;I-Fr@JT)#cA#CI{HVynC9#Nigw%dl@i3udgcIcVc`Z-S3_}qg&-u0|8>J7? z<Zci~RE@~rHri%-c~`1&LuKt3+0Kk42HsXDb|muvy9ITH(4mrXpSSwt#mnXHqY$x; zx#2P*6cB|%2?Zt6GcpItsvbOq=x%+oe=ym)c5Uld%MiO*j27*LDfm0?^&RlN<cBv9 zqut+~yiT&8Woa?m%~yEFD!;^EbIgiKZKI@B$UVe3<-?9Ub}b&tgrm<^c>N$B)Ktc7 zy0iih4p>FA{TGP;ADaK(9Qbc||99;FFZaioTSWi2E9M?3<_zu0Fxm9~x|sVr&?vmJ z4p7zmUyqsh*$I#_{;wlNL$N2gupn+~B^I+*JQsKp>L49hJln-|5eh-5hH2t|`fL(^ z%R;X3O%3z03u+O=4Sp5ng-CW15Xvb}P$SPdPhMxJXC?L{BbX8RnG0G_T97i~f-f-b zF<0zxOCG5@1U<jw;=zs9SzesVD6`mmI^UnW0a4*I=LupzSfO#R0l26k<fH<f_7Px` zZ4~%U!JefW{)79Qnv={Jc^T}s$nf-Fud}lOD5-cSYKdjVX4}Br!(;>?=yeFfIaCFM zD^M8GoL6u(#p(?$wOa;v7uCv^n?0Z<i?49S1}yP0A@T!nUjzN!11GT?Z#3`9i0tqD zQB%PH)T2_>nyu3%W23%vnb{CvDp_^8nOOKQ9ZXMvk(IaiaK!Td%47uIv8S{e?>E0X z$0=U9!lR8@SMWIr;dO~HSHeyx_pn`$rDT5)E!tY!oe0XNKys#Njum#KYdV$Rv}h=_ z%7|yrX9}x~f#?*!hnRdlv8lRd$<~l+yyDIjwy4ev3E=J%Vl5MX@R#Y4_2Fn*aS{t8 zH#fjKtPR9Tquomw(Ut~$lq}QjjKS>;eDUn<0^eJh;oi<<a@8~Y)#yF77AChJLqEkM zgUSO)bmuh2=Yp-~wIZaMS$E1^1YPeck<|fnacEr8Q>Uj+two>7(hGyRZPpB4*w)ey zbEJJ^BrRaDAMkhao*Pe7z#vVdk^pn5r!CV2?NP(VjU}0<or@#TL=KfJ$n@l5bx7`G zXxcdJ@z0-G5W$U7lI^SjX}A;up{R(E0z-2QiQ3czI+%DnSqG{<oFBHqyyQ&{<b;5` zK@cLi=Q}U|AbafZ9u+<ewze1qf)xKX|98HQ-lu1ed(I)DeYBYL!E%d)WS&$~RmH%p zyThTEJQ?y#L%l>GX<68gX5Fi7GT9D)D>?4J9NMtAH%(W{xb0t3qIV^_@iJT35vfw8 zXScAQ0-M`S=ew+`T=De<YabxK|0Ew8wG{{%`r}?v-?n%kac3oO+75vvYP-A9(&}C0 zA-1zL$#EGJ9G~}w*Octdue~hzU9$8!q>4)#IbH>G`2Nb+qw_P<vXnvJB9wVzWTwK5 za&w|>@EW*cJdt0&H)Sv|QNOpX89c#c`?oVj<_W2O!P;v9Y8sAak=}aaHS}gJDvAd4 z+x*?cYCZ>f_fbO(Ybh#A$8kIQlfriU(Nmn#c7sWt=LB)PPZm-eth2&9x#3r*`jJN6 z@-gjhyi=WRw=K*^J&jlC^@k#OIky3;1~bU{j~bB?DUk*6TTfB+d6~yQzp6po849Rh z<Pkv;hi&e-PgDQ{k?f)#;MS?;RBbYY*HAogy$~;n++n7a-?cSxf>ZsX383w1K7W&e z2fq2#Fbpy<HLUTYK28QbRyp^j!lOk$C15vB4#JQHk(l3B8;_D)1_89LuJ(9M_VV+q znk|vRyNNM0rcu_!W?hev`24hNx0F*mu@g(wX>mE0&FF^Lpq82Y5tDsF`UaTtn$wVG ze*)n&dX*iT{BS#YB!9<e9z?_85=cTSZlcD0E`9fcfCgX2`c`BE$CmF`C|04iff>$s zR+x3+F}#>V@4F{<N2ha4ibXl|2R<<NW<oW&xq@dY;S(H+%<Sd_sC#s}o9dO=Ss?yW zl=ItYY}C4<T_-wD%sR~moNJDUVqV>VD2D{5Yxa~O$lBHN!Oc$zwgKAiZ*fD?`4G%| z8s-Y$RjvljZ<Y4&ZTsWoAsK9)6KkF#u?y91GE<^UJKaaucI$6InG!kwS<T2^9dJF{ zJx7juR8q|1RgA|3bKjAGQgPRrGIaf$dG%M?9n^<N)WMviV7HvKV%^B$#a(ERaxCRu zudt2GXA{UmBhQhaj@JbG&T8^43MvQW?mjWTg**lJA`!ooZN36k;ON&}FBkn$zb7@z zsRQK}X>CueFmWZ*&<cRu@4P<pGxphus&Km4lB-9+5)|fa(yDV#i{8wCyhxC#aq~#& z`3*%|hCbQ)d(O#N18Y03!jw<&h0e-S98*?p(82DiK>Fuvca6FN#{3zS)Ny9wHAQ^u zu&rJ^jxsl|I|a(KL8c=G%+OG|I(fQd4|ZK@+73T(bZ)nIB?T@qeJyW9)R)8|BzQb( z&<49@>0-`R_+~@{(UboI+IfA^E9ygH1!TNy{127T!&5Yh(r{d+-#2Zbk;ru}60#=b z3d5vcs;IM*!Hi+eQ=cf4yz?t*fNk#|gb^epW0u>ks1Eynlq%}Vae}i_XO<x0@zZ1A zlfuMDzmYtY26-X}at(}Rd{LQSyOdGS4SOALiu0U;3HS!p@NW-vc?AZr5j7Y%UW;f^ z$J93zG8<%5iS^~-D0_js88UNa9@)|_d?1A{dtpA_5z-wN^=YeEJasI}#C|`!8l~sj z<H5fG;XCfiK^_Y~{aviVY?#aNav{x#Or+<<Lh7Im8M<oblBp%{`qG}eD-qYA#gw^v zp2|&e*`MM07Jmmq>dbK2$y~ujLjImIE9cvrPoN&J7Qi{RZ;xMd74yDpB$SpO7zE^! z$~)$6Thf(;N7oL$g)%wnTIT_W8^k!N_(xSvEbckcnNfqUokrI_3~Cg)xb`Hf_R^R> z@CfWTERvf@bmfy)_0})i)+kb?T68euPZp~By>NO6)kCS6`ssa2kN#SFkBkV#9}+3E zzgrTRF|G*be5Wel+y6s`B4xD3xo{C893tpfhQ=Sx$9k4t7jWj_Dg?A7ewEtPeh>cI zJ$@IAW3DnbU}`CGk*n}L8KtlM(-_KC$Wf1lp$r=Mgi9pOHQY(Ncn~t5b>MFZu?SUo zXm!z}o`-?E7wdX2F4RewQ*!wL#M1O4MVbsQjpd+7tZ<3^&JNUUJZwB3lUV}kY3!r} z);8-<zb?7h&B^0wT6^*1xkG0m;H1Zjd{xop-UC0B9D2`Wxj8XCSSTMwE!F*e^bOOx zI6`&xM{aRG`8wb+WGO*-FPx8>>XM?^A3Vy$6b4F(8H2ky8b$It8g4o51OMoHv_6aR zXRgk208U?vY*c07eL+Hp*NSR5X~SXs_wi{+rN^8{0`DcMkfWNp7tOl0y=|D4+jX!d zMs8y?J4x&s9Vlu)+AYb{YzcKZEpcZj2}o%ti&SwJhW`7ezT^Upd|}aU72%kx@Qit8 zAqAEH+Lr{la2m(i{=HIj1`0>h1lXxTs!O>@R3XmPGI{@t7O{uvvErbwU=~ey8v75X z)(~&r4S%<MYbkhIg9noAJHn|@k`mrjpZPM6o&sF>YqiB!&CCKtf#mMXD*-Mpo$W_V z&tm}iqwmvm5VR4`QTeC98l+#P|7HBADvic*<qrDZUr6*xLz2*CO`JA9``S{%n(LzE zVNi1wN)ObW(j%c0LT3<mcBsMCX7sGt34pJ}jW=Vo_*du5b1$a9rjRYKPDxGaSDL>r z-2M8-S)7<rEw97}O=_K(>X}&4<3Q*s>|jnN0IU@P9VthaRJnW|)@u1JVHwO=vkv&9 z9moSA<S<+wo!I;arTA~_QR3PMz(4;kqk7FXqvR=JWF;`OA2PUY9fWzXodg5^0PNuU zbRLwPVe4Ze?FH5zN4dYZPusD%Z@j(c*e%Ty8^CkV%W+|bMN}5jGVLxpZeBcZF5nfc zv(z(}{^^jWU|K`%VG%cF%q!=)F7ql$*%7sIA+Vdjl+HvYE1wEh^R^#QG2Z?qBqC|& zHR2IZ>|wgW1+X@Ux?9cbnrn>DG}8rF!e28DARi}V33La%yjE(z;NohFM|~57oT_(# z)^)PYAI%|#70##I?20hcab@z*Nv%h%y@TV-)hLaS8eGy}3mw2Hb^hLYk(Co__N)&n z=M-ssEtg(fbsq-@5+C~<hsrS+)pan4b#07Uc&}Z|xH^2M4oD`|fA$%pt*V7Uq!|<U zMMbs9ALH5&K!xo$5c36f*30|5=L{33SEzKRE<C{YYnT7M!+`zQE;E~*C9HK{se-(d zSL^?O$-}Hdp#J_ZSM8|Ye)Qxi=$%$BNCVL_EdN<#QI`SPu&(D&d8>b>>JY?Z!VczM zgN~~40PGNw%o^%2RQ^E6@c+lJf6FB1kpFS6?Z3bLe>VMJUjC1!n9nZgEBx~O4`7OA zr`cuy;|qxYan%3dN1j8sUcF<j?*lx43#i_PKC#FG3LQ=Z?Ce?aoiG>Z=6xpam@RY+ zk39?eilx>Z2v_>YQRa%@6ZWrVb-s(kr<Vy<y)RMf&dzfbkQIFOr>}c$I2^VtNYXhH zwP@sg;JG~iE8;o*v|Nt_ioc96%yY(@A3AXI>hW+l`+VB@?liJbQ2Kpj;*f|XG)<K< z=<}2G5T{2S--WUtxu8uU=K2^rc-j)?6i$Uco~T|Q^o&tHYzQ;Gm5UnBVTCt#k2&X_ z9mzfPgNMBYup;--8fncI!Z`vVW*9^k<6-1*7@?{WX$4!jr2fa%gZgMv6pOHFd7OTd zzm{;W4s{VaH`tgH`(DH7HEanQE5^)qaroB`s?pMJ4mym;3)~LwOlGt_zN)UCblaw| zHTr_|naQ+G*<wY`!~C7l?hStkq`ddJJUaSU`L7*2$S%9Ge_%WDug8}lO$78I6N}b; Lef2Wc$07d@6?B1~ diff --git a/users_guide/images/groupbox.png b/users_guide/images/groupbox.png deleted file mode 100755 index db7a46ef6b25581b065193b8fd71a73abc9f7ae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16557 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 diff --git a/users_guide/images/header.png b/users_guide/images/header.png deleted file mode 100755 index dab85ccfd44a910af18ce662a422a083efc4561e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6810 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 b#5O&v;WI4N_Q`viA^@$Tshp{J?aqGzRPW}z diff --git a/users_guide/images/hello-with-button.png b/users_guide/images/hello-with-button.png deleted file mode 100755 index 489cc1024ca2e6dc26e78cc20a6555a093e5c985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1862 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 AYXATM diff --git a/users_guide/images/hello-with-icon-1.png b/users_guide/images/hello-with-icon-1.png deleted file mode 100755 index f3b70472320ef68785575980b3b4d355643d7cde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44120 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 QmjD0&07*qoM6N<$f?qLNqyPW_ diff --git a/users_guide/images/hello-with-icon-2.png b/users_guide/images/hello-with-icon-2.png deleted file mode 100755 index c8a3b05e4bb64bb59877eb21e22cb4fe2f577884..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43854 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 diff --git a/users_guide/images/hello-with-icon-3.png b/users_guide/images/hello-with-icon-3.png deleted file mode 100755 index 8b6f5788d019b1844d4ccef385ff2c763879a669..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46872 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 diff --git a/users_guide/images/hello-with-tooltip.png b/users_guide/images/hello-with-tooltip.png deleted file mode 100755 index 36198e733fb3088ea2416dc89593e07bf6610fd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2346 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 Kji@y7i2WNiu3=#S diff --git a/users_guide/images/hello-without-button.png b/users_guide/images/hello-without-button.png deleted file mode 100755 index 76fd92a808f9d9f3b4e6b07bec00a3771aeabdc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1660 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 GLSTZgG$C{V diff --git a/users_guide/images/hello.png b/users_guide/images/hello.png deleted file mode 100755 index ac85aa1e01de1978f692e53e33dda4f489b4e937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1370 zcmeAS@N?(olHy`uVBq!ia0vp^zCdii!3-pmv)Sh|FfcO&_=LCuxeN^dt81%Unp%z> zKKA_a^Z)<<g9S&4(GVE^A)qU+$_Ml%XMsm#F#`kN5fEmas?8@26l5>)^mS#w#LUMp zE*bZ-kOwT}8d2g{T9T1p#ISPR84sWkPYF=SCAB!YD6^m>Ge3_(m{U<1D9!~Ecg`=U zEXqvJC}CK`f5r+Z$_ExLN=*bQRVc~KO=U3s&d&*y;RMM9=ckpFCl;kL#1{MqDdz?o zo>`onlL%B=#IXIqmVTfx2S_+Pu_!MyFP-6l^s{!L7&}CNX;E@2!`J`KuVKoZ^K)}k z^GX=Lotd^DD8>d-7Lr+#lghB--6eGf21W)?7srr_Id7*v6l+%CXnjBH?O*xIl`9(3 zwyoG!TvlIk<b$xG;JJW?*=J2EXGLZ#zc5d1SC86d?x}eh?DmH;^_Oj!aN_uyH?3j4 z9Jdy)@N~WuX>z|m*Y&dI+KiMBH*7Q%w54X-`V<?6X-nmPlTN-paeGPA>n-PI=3OfL zn;&f*TKwC@K=+wSOXN-NwNfwdRDB7xj)|DqccI6{q??_)HBIpP{4_`Byd?HJlD%@J zi=X#yNjS)PLqhk;h6m1HeJ?whiiez<ZL+F$!B>T(#4S%I*j8<9yf)cn>j8^i-)##` zleEKJi>v(@yQazPTE0Q;i(Q&#ROJJ^OY86adbxuu_wiSm%bxkugaeL507Hit6c&nS f71Axsw^cE}VAnI87^(~^GZ{Qx{an^LB{Ts5${6e; diff --git a/users_guide/images/hello2.png b/users_guide/images/hello2.png deleted file mode 100755 index 998d158902a869717cded8f6cebfed626488e2cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7806 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 diff --git a/users_guide/images/iconlist-bigicons.png b/users_guide/images/iconlist-bigicons.png deleted file mode 100755 index f0a448bb2a243f31ce5a578e5389e72778f52c5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17584 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 diff --git a/users_guide/images/iconlist-details.png b/users_guide/images/iconlist-details.png deleted file mode 100755 index 3090dff243e8079a3994a56409e89bf421e98b8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28344 zcmeHwby!sExBq~F3_gM&DTs8pNP~iuAV_x$h?LSjsGxL6H;RDd&<%rhhjc5QgLKaD z+hd%gp5v)|e)oIt^IZSonLW$~-u<q3txv3_?_D`bFbNn00)eHaZYhF5r<g$?benVN zz?BU0z5@{GDoFa)O=YL})oS;COKFW^jRl83yFT!ptr1bNzU$ApZ->+Skkkp6gh=7w zoX6FkY0J(Ih~Y?iM9I<a>jIa+3*6l?@4ttP){rxaBtGvIOt5ik%+`)C$ma>pMV$M$ zl3%{mT1-2r+MC#FE?+OPQdt|_sWx9n9OdYyuk`2WR4!*MWVkFlcjvO427V{dB~vQM zQbpHB0n}-<wE9DFDYDJlja@7Z^<LG%LDI>R$U(gxxa^}bo9jqU>7?d-UFSSh2ihKd z;@Yk?SukQTxm!}2z-MbxI6^9N<b~V;L#tKJZ48QF-Dd~xaf5a8aIkdLod{vxiWQ6o zohddA8nQmVC@T2Apt~CmW2-(Wd@UVDdnfkV(p;*McB~<x$9_FI9MRbBjiWPEy=G~> zRsCqlo=}eUo`Wgg77b5g)t0-dSJ{o&Yi93&PwHxG`Yb2p&8X-MSzeFxhXmRAmNV$d z%gM>H#uMUgh@1rLIhz#n?O{P?JzAs2oi=m#5-v`Aef}_QbxYAX8?$XJz0EZ?LR#IE zWpc;zk18iibM7&ORr?SH)>ZS$MX#O77`OZmp6W$CObU-R`-OWV@Y&faoaqJRL}7RQ zh}#0}7;I!qMVxtD=N%>w*$smrO|7dAq_t+e<(-a;hjd)$v?h_g!V5Z%KI_OJ*iNdv zi<jbN0>opl5?LSTjU!)`?>a;lH$$)aE~)Zk4|KnPX=-yfm_L#ZSQpfvNhn3W5h!C> z<T)6ELF?rN$AZakcn1)Aw97yi2cY|*lc$tekB6IucUvTd6}RPvdj-PSJUZD<;wF6s zT=YeKtlf}%$oUmW#U7GXyX@g;CfpLTtyi<kz((}Ij`UeuH{zJQ>O=@e*C6qrp5}N9 za@fyx`Oy)w6We*w=&(cWq^(l-Aae*ZjhD3VOOD9pGQB=^1ocoox6$gleo~9E4jJTe zTdSOO?B#Qx7Ec<DM~;xYF2@8qH7C_9>8w}2O%?p~v}o^C+&J9x#$li|sPmigW^-%B z4$yUyrj}(r?3_A;>g~0WM+mW(zb3_8S*pP5eqePdpyxW1LT<kk(>V`^9d_i1?43-y zcc&*+S06;0PHyKt*LCiu6LvjXAK!>O+9M+e@4t-_+Ukhu%(6Nvw1%`siR{N>)JzXR zT=uK?uy-`dhq@7!3-RTv>+TEfx)2*1<a}K2(Q`JJ&6z8<YsOKQ!p>6*9!n9{kawNf zu;n&j8$$ORA)EE3$gU%ikG}qhbzx+XKv%p7q*Hpxl7Hi*dWkH!aw*HZY@R8}=HMXA z9CqTGc)Z`Na}?9<hKzu^E>y1Xd*Zx0h+RqCC}kUTJ4qMWBiGy5jdI&+jD^h8)y$}G z;gL^OSMD``js&xJVX59y7cucvnF(u_MXHarbPvUvvOEwaN&Re94VbQTY{e(<#~cu6 zx=%2spvoIfdWaaA_&ga1-tJzK{g!{?UMl%M5Te8KRlAd}BF-~`L$HMeYu67vA}2I# z#|0uzTdt5rks5gF)Zq@B^9LpPNq;kBVQ+oXq9KLcc_%_m7x`*oa{D=CyJkV~sC8<8 zC)jnz+~epawrhO;&f$7@MHtrlA=G;R#mW50$%IVO=Axu7LX7RC5qrvcfl%kfCwOwl zx3p%b7jk57RkqqOPkzz|0X{xuk1$Gdm{Y+nKiHV4Tp!kc)HtA~{b(nq4=J*Eb7<mt zAD-))D|nQkx3vVU-Vx-zNY#7i?tMu%gdY#$ZIa+F$B^Jkq(Ar6L8t%}vfUV)w8702 z&zEzMp|{iTIQ3{PKQoR7eDzD*M9KT#k{iy_+n{QS9+`5Tgym_MjacX+{K$Ka^!+f> z_ze&Vx?Alh^Kq~pJuE!y<AEdvO0%}U&@t0-YOj4H`Efb+g!6j+l}CN9Cz~lru!o(6 zFr@W43Xf^JlVJJDO6NxN$%774!MV#xJH}9CgkBZgfX6{JKHhF>hs~;buVzc{#L?sU zEw*!y5IJQ1X)5eW8~xsL&_ahp^D(@jy-RS1$r@SBqq8*$t6D!M%q>4gBdoBpwXv~j zK3aDhzatMjMpM(_E&mAL)2rH@Z?@N=3&M4(GwOyNA>yo^<_UG|2Tpm+sX_M0){p(^ zkb$s+0O*+8Mqm_TLjVp_-%^`6c7;65pQjst_~G@KPgt11BxGU8eN7EA3&*hR(&imJ zfbUr!9)8_=-hGlUj`=n_Vz|U;)<im{qS4JZX`VuY1UD<xkZ**}4)SaeB`nL2Ko*PD zz!b>Mr{suNmur^M)U;W=%9b-%uI%PzdE<~Dv`p}f?+@%v4q;MULA-fB;o6OnTfLhv z>ci&t;kbFdX0Iu(2L2k)^!jw&0UP~AXwBwJIu3c(_>(2Q{Ru+Bg(gD5^%yp{xAQ{l zN5dyOex+4=L6vL{G8U|`<F;IZCDwRt(wt^T2ol-Z_<(1+dkS*%+(wT%IlY(DM(OzG zv~~I1K3lL;gZ<vrQCAYud&>QTt+m@*9-%Go?y0H;ck-jPdUA4)lf;<_(=H46@xF>^ zyd9xjkbT?Er*s6IS6JyMvz?;a%kQ>f{%ZR<JjdBI$u!UE&FT&pT3!kWAC*rTRizyG z`02TK${!=Fkx?#M7?cKt^@@&DwkK5Nk2=F@W;gcSk&oTqFT-8oFr)%@4f620HLGi_ z{g4ig*Z!i;9<Ue-hv=pa#E<3+jM%&gHkO&l`NLN0TD@V%AN3IZu#=vX!*y#{;1}Nk zqIGrsFen|;ym$Q0%son*{-8YpC$8^C?66%DuITZ?iOrEbV)dktux8gF7&cwt+J!iN z&PqsV?y*>`xAkm{ZE!q6yQ<{uRMMCH=PtX)+KEaj`_C5K_CD}H4Cs?-M5zpF9IxG~ z3pyTM>2jahf~iFt>bv7bEcQdIH@a&O<icyuyFHrOV23$-la3z_B}MjgtWSENu#IkH zZ>jr^$cZVN2g15)UA+6`Hbq00?$%h8-fnFe)`It9&`VYpcg(oXd5u!RwGY7+`&#)& z@T2jusSShj<I?K=tjPm-CA?<g5PPclqUgBe6oUNdW74GSlxZ%cUn~*1&2}`4h?>~T z=*Fa|*?$CCW3!fH5-ER(^d}#x-UY9_&T}E>v67~=%dR4)#ps5FXETq4cSc-=k&n}b z))=sBc5^G&%aL1pIPRTEK;T|M=J|7rY*uvde)HVh)5ZO!hWvY^qP0(;Q@dfNUGdJl zwy<WK=9_dDg(JsJ&|~HG@tB0XFd5RcF^@HQVdwP;Ag$;D3vdKouYh+2du(D)9hVFt zmv!{^kE^G)<6%42u-$f%-3@t!^~uqS-bT{Y{(EzBIz54K_}K0y`5_%*$gyfm%-UrO z645RK&&RHwi;;Kx$gSpn$dv@?Bd^{|_n1E!2Qn8v^e_c-JSB{1_SlE)BMV{2YDxR6 zF<eow1vXaQ%|@Q%9X-CJkI`G}2Urvh2$B7IC}NP%eQ7K4$R4|5xeZu=b#AB-smC6i z5aO@7b&A|+<OJadoT-O>u;ckscX&rkd+;~wft4P-9n`j>hnVSh|FDON*PPrR!iEnq zIFUJ?a;fk3sJE?g{U}OtYsj8_zZN5?91b(ATu5|9rmt77skciC?>CG3tXS{grl^pI zEYBp>oaAol?XQ~H&KI;pofhk@YmPTDCLvQgNyvU3LRPmAsLMUv!EQYR!NS+y=VDhE z<4yMlyZgO}JZQl<Q9rbd#t{V)2RF8Bf7t9MWM>12qOHB8`1q-KKHEloY>$s()@8?= zOd>~1uEGbt*miVu*pU9PAeaK4sM`j3;z+oxyr`3KYs$TO0baQ$mUJ>+Jt6HlVvJoj zPZ3<cy!;%pi`*MOY6Z5&HU)OgYMVbdWO))B$ocv6HFD)1sKOH{S?yZ4t&xN4$F1Z@ zMNgTnQz9Qvl}@?<g)X#ev+d5w=&L{xQ9n(gWe&YbNcHB;A)SNd6|aWYR`0A_k9`$2 zk*e;ciY*;FFPz~0S9E)XZDuh>b6`5Ug}Kck;Z;nR$4t3yEmTm5&56pnM}6RFA@VZy z_e*++IY+mTFOIpQbbwlvXVUIz+00YI_VNAbE#Nw4aM^9rcG4|*xh|0<U+nUkr}FUj z?QfoCdwRWgtTgL+h~sM_55s&ptBRXddu&o)jy(T6{<qeHm~9P|sVx?L8~G2+AqV+i z>+{sqV6XCPecJS1`;+SkT{IL%Nab~ek4v2EwVz0EoE$L~T6gY_D^fwdBQsMnW>vW} zs1<x=sN8m;D?z}~WSJKAq3nzCC}`k`S&MlJ_!<rR{-tNTJKL~TY11*n19F^>@E{*} z^;m!wdY#8FxoT9Tj}`cgr@*A#aHt{j=6ah&=@>B|jUQq0gw?`;2XMQVJIQ#oM(4*` z9wkdH%s7>=24XUN9E>7v8)6G}rxFq|Xb%jyF3;*abruB5Q!Y5B&E8|QE2T}oGBflN zQZQbzXBHGAF+``*e$*a_e}P-RM)l)@6!0U(@rW?{gr05Edvx5Fc?MpjctgGD5j{f# z{K&ksoJd;c2vehMNi)x5Ze$Ind%<M=WyBce6(SI*HdE?jTpk5wHCV{AUowIe>UV5p zc;1GKQ+yQotp4CV5xR~>+t|pL^8-Dbt(SpopqQ3vuQSJ_jLkV~8+k~*x%t!w<=Vlx z__i5S!`FfL)p0MQqRnyAd12!SSlq<Ds)akFuQBP@nE|9(n_0F7tbO&)U`n$+d>pm- z2MF4ZIiAgoJjp!8futj9_A|$Vz<qe97rY`)>J0}E=k(lZs>l)vfQtbyHkMir-)aGO z^2}&K+ED}7K#T9aP>)U)BnSLOpxV=a{F0~(vl6j8)?SKwzWNzOmab!#r3^9i^_oCd zjyzsN-AbM9m=72AHu}Rl;0uTrM0ftvOH~BAHRzmC<ph{w_sAXoK+^h}@{O*cKFRQ` zI{pahOTcmipGel_<m1_w1>HTxYXHLW<|uh>x_gld+7l||Gq7M$s>KF-Krfd@*wPQ& z^R0Cq=<2gc$<PE`BNIK{?(;PY>wAkALK<l}k>yHeuW9=7f!`<v_?vE!xL`Eu(#{k3 z(aoxREM^7di)u50TELK?)1JgV%}HqpiYjXmHmDXISci^hNO><-*js)ARV0XHsrusO zQ=VR^%_1d6p4O&$5OVpFv-!-Nm_3Q>?U3^zx3`$5JRb%?XabJ=KB(4tQ1OW{OBh#; zC&rYZf$~hQi~8iQz^k^pX7+#wrsKXdP*r;wbmJib6NvhiS!`7Gsxff5tn|+C0}%&2 zQy<`gXp0WQvd}@>sHdSVN+WNGUOW9^3D~Xpq--F1Q0V6{W4~25TEa4Q0ayu76@!O$ z7oLk9H~=p|*<d6oCh(OV4Om0qAD$;35EQ`6XH#Ai9!G0)W2gs}r#xCx4Q!}z*)2W; zHpoHyRw)K>S^wZXnGmm&y7`cO`6#-%ap6d^T2P0As;vcAOF!Qe`;yG_=5W_Ji|d#7 zs1jJ9HwzP@yEX7bLXh3#iv#qw;RB>&=Q-_z^b>Lz>tl~}`4BzV?r>>3m5ym3BZdf2 zKiCUriE``H_WNPK-9TrCz2%ucjLS2sMiheD)I34Y!ttv~L_>!a?s8vF$+v`q;W8u( zNmrnm0S9oE0p>N*e!(q_H)uChgZRrQtR{+k*PkEgs+=0mur+}axbq2)&XCN~?r}UX z*@iPKjcXHeK3~#2Z7w;9UuJIfB%NyR@}8{*%o+ckgzEWK<9yN(;!(HC265FlGJfhV zv%E3!N>`kP6-mr265%FG?%{OAGV;}eB}U%v=7C&s?@~w_1n>zSx5tQ?T!xsJXZ9}D z4O7b;6bI7Ydevc3H-f!&bSGN4ckl2){Ofy3vaIZO__g$Hhox6^UZik~E*EIuXwBB< zZJGxkgi9VyGPq;EVNAAcn_wceR$WCOI-{u0yLtOs|Ld1nYP_*H-IHGJ-uWUOjxan= zswOj?gCToLD2<r^t%M^d=WArr!`_~m(IeVKqu4~P)bDa`9j_7D(Fg1$QSDe7e++t@ zbN02NN=5(J`@3ahL^QD>h}vMh7hxqP&7-u0>(r~oWfmv$yErB_k>TZJH#7|)c(hu{ z>-W48YH^PG^cK$X2x&ZJZGA^%V+@8ubT2(r#og_9H_5tH6{bIqovm>dRO7{KV76Ca zkK8$(X-t1ir3#hVh08O=&%FL%zt@6ubl;+BuCBMvV5rNddOPn4Jo?JXtmz2$J=_-L zJ4yN{y;@iF=(52_t`s^xfnE$3u@Kl>DQdnnUD`O^J+ryYXIFY@CTao_BE%KS9|m;x zsUgr+mMA&9EDEGt^<Hakq={cl)_HGZLc8s%k%r~icsGp@gayY7Kchw`+beaja(A?p zI-9_sljx-NRbYD)E0|CNzv=#F%9f|@J7W?|oFE#J`82G08M|GYt1L~<wfSfSjq3H$ zqPXKKjnla_ymaTUVn|;n26k`E{aBNt0EB!bufbiaV{zch^1?&j2JIlcv)qaw^aert zZ`rGBsT-~gqUb^p+AyU->6C|SzC*3c4d{4GO7{G)Nl1q6=@knV;=%E~My^FKfZ%$u z<{9CsTh1k^(V5?QRcYbe;7BHCcKN!weh=nKMeaQT)V=0KXXQ78KgN9y|A#L81(sR| z=Er;p)SFDE<Cx}S4wVzvJ9i%rlZ%X%G-9KUX&-|IAiw3Mjezsj42=x03Z|XB>e)*- zX(p-2UBS~OB(cs>OT8qw<H|dAT`SiHdYhGa5HwZNs63#wV2u-o#cm*T4~?;cEI#I` z8>d~kv>Uh&{E+d|hkg?*p_Dtz?HJiqpmO41FYY^3w}!5XB9()dt;ZY+N6wp-STsc% z@;xjs79P4}^;&c`XMr2G-8Egr2_>E>RPf7k57)hCQqC$q!y2|vLcmaaFfE`nV}Emw z7s(E><t1fKLgSf~8s-Wlyx<PL|E#S4R%Pzx&4KWe9Wy8`u{lv@r+S3WZ5tsQ^5+#- z7nsbdO=v>Fd{(9w3wLJ%-(6k{O=Z;K<vUzy3=!?RP+2S4EY(Dh$99uNA~Wp0`Ae~x z=t`B#mamj*M(OaH<worBYlFh@Xir$)?Jv0wb!MzkL2H^iZs!$Q+E!pIxm=v`Fj9dl zE)NmS$%j=mQ<-W$P-X16Rb@5oIx8G*e28T@?1P^6#DnEtKj#PYmu99me1~tQ6iyiR z=FEFp6EdAgo@l(E^%_Avh*7pEM@)h>$MHB47Lm=t+Xg8o9Cps?H8xnTSQ>KoHXGSP zwv?&E-8yXEFn_Fx$r61ey!yIW!`a7ZR)imaEH1&C@`;K9CGPdt*%g>H*vk&-=blTC zSShQViGQl4C{LJnhOfVy+K9TF2rb6EcKQ@}O`nT91!fj>c+{rD-{^+^Hr&UHtXJrz zoanwqP5|0Mwv*)%IN2w+)*I^--#wbv*ao73fL;tn_Im{n=2Xu^X)txX+0zd0M0XUq zo@>6U0gB{5in|gxI2W8Lb`ZqkIFjemd%{-+HKkwEjhi_(9*0y;wd+Qt-Wz7Q(X7TZ z-rS<jS#Wl*!<(Wzu)urQot$%6<DBGD=!~+UrYVB#`6xXhW*7%aVLadRWoMRQhrSo< zmBdb?Bh{7#DwRb&Px2X?o$o^5u82Zu8<R^-m3g*hp-rc;dSJH1m?7`(o8-@zH{hek z5>92foL0wg)8@&!5xz89il$4j#<>Q)jdvA8j&2_7k*W{E!}{P_%Kg`HS@kxp++x$S z$6@Q$tK9U+hWnSbUteS7hmJ~|a3{~fS+*;@jppAZ*Ujo%n@USWT$eTx#SMx&VtHou zV2ZQ6|9x~h`)Y2-eG}S?sg^1qJJ@5f-`Dxzm5i-1e|UqLQK$mCdl~;MCmJXyK(dZ8 z9(L{+-IGf866h|=jGVeRJCNH!wd0T6EH9!W_x0&771Ec2sdkCSz;dij&#_V`u?h7J z*=N#i>q^FQ-1yDMO7=gcbdCUCg9?nnYg!b$w=HDPdo?qgQmeXl+$siZ5j7c=nWtPa z?$M&e%Igm9=(s6N%-=>`^UUlFFTUTy2Zi2=y|g=X=DLph#lUYDn|AS)ISB>i`W>n$ zv#~)N%4zLuiKq12Q(#1=F9kecfYMZNQ*yQ2GmtpOGz{fQp>+{XaN7~zm%zwu+=$QX z9ImA5=AZ1ok9(L{z-BTY$UrkU^n!lrWmZ5->9ZH4lAZfct{?TREU~+@FKg*pjM6x8 zJm9;gTi5x{IDm75B&AWx9@mYfD1h!-Kj<Y3o`n49ixS5N8ypIGI46C~baWl?$7B~= zDR$qo<gGHeD&?;W&v_-9bn~-KpTd57n7nuyQbqqPB~?JxUY7kq%*W!MqC_hwU31X} zG*ygt6%~Aj?iyTUYu9UV)2SF&uc-G06dBq2S<hUujJ$I}RYsWmMr9i1%URc*bBPbb zTib+eRTiy6yo;_gVLu8u4s?0NYq<-HXE(}@&t2I)s-9W6OCu*2Ek<qe`en-D@_o6t z$nn^8nVy^E%cd_lIOSB~pJI;qIrCm5L)MG)IlQ;iqvZ!%KRmo2+q7Z(<^^sjJ0ZXC zOHN%^sOO=9P%^fLbO9}g1h>)lWAOQyY|V1~diTbgYD2!27-@p-^h%Vt^Kx*+>7xk# z4aCc58*Jwc_Ux+&ilu#`*sGg<39OT1xsslmb+NMoSRd$x_z&fE@j~;v4h1e?YDiIc z^yWppNLcDV2;C8L-hRXp6eZMWE?d1#u}W~}-0uX?HG!NPvzO0Yt8IU!qZ+SbhE7lI z>&2H4&DNj+l<w7YeF3?lZJGj_9UN;~@6c71pD9?6G1)3Z>#j9VcD)!Li)ZAbz-(?u z5Qy=RjpooqE!X8$a;C(@+zKyIdCOIQUzj<OIyCPh9f0vJ>YedCP&BxT2O{uPqqb<l zz8vhuVuR##iS%D(sBL?ji*^-b&I7MRkRMNp2bECgZ<eQ1p{mH_=Te^`3(jY>>4_^Z zdBto@6-jb3`Ve>@xb5OnONnLaw{erFdHYtK9d@=^iRfy?a5T}mV2v)R>@7Eg^0&ps zmIg$@A94d-ij=K=71XG>Y(wOq1#$X94K&f@yeZ>HEnb=yNxL6B7$S>i@TN4l(|4|y zJ1|5fLNBJ+(wy(&BUTc&vGn6ia0|w}D~)Ag9Lo>BPj9a(pRu0mT)c7NwlG;aAL)fi z`8|of_2GA1bCBh}+s;PPe0tK@I>ugob!o5kI)d~9XN(naA7#{?g8-ouml*BU_$F27 zz3z4MaNnq80;&ONV6*p@^C)FqALV@MRxD2&lu)q3$Q*4WFF86j>CU@qRFTg&kwMRt zA2P{985g3vsh-`f3|3zzw^WpcT|GbJ<P0{<6Q(~LWCF#8T$Yq^1PZWDKd5(_{hisx z6c0&6mRkf=ywZ+QLd^gk?*BD=VNcS~rzx6jwVl`HJLvbkndIm7B3R=>#F<GRTNV1Q z=Lx^W4rTYrt_hy3_sFff3MFP^(oTlqBwMIn9ud@&n=Q%K;Ew{vg3^H14p+>$YFC$I z=ScNJVZAu{)o5ySTq9*J3Gz3!A+4DaS{&nQq;~cR9kjm&i47$1X#M>Wzpno%HT5cw z?pqov^M~EqM4Ngm_psKEgzx1Q;sm`*NjbSxj-4dlOhJJK>}`?~Ma9IciUW{)R3Cc5 z=S0Z~XPid3s%h`Axu2^PM?-&oEmkAjne~yk=X|4M<`pzmZ%#ZpCY%EaH1NlQ`%(C& zDzShvOlk04o-u!2Fc?H&D|-}aXTdUS)IYY{Mmmti-kD!oNWFVKy-ilCZo>xF*mLLk zb>-I7iXRh-e|m%OLFGh{Cl0713VbRClm`MQM8jGR+7~rg3(`SM7?o!|Ny7y>AZB*7 zX;znjJ>T&Zc=kYU0o}m<f)TIcenx&Yi9v$zN^*|vOUD{Z$bj$AFS&%OAIH`ln3B2x z80mourtC=IbecG29-D*XN^_m|Y@Jag7w(Fnp1RdTOUti`g=Ij?uz#SXgLF3RWs2;y zd9<ph(#vz{*R>XjEfw`@M(r_7ZoiaL@4F^ycZX_LeooEAa!gb1R=j^x`z`}46Mge> zkt7HFUO)v&j7F|ZZ&^E#n#92mYZh}~w%_354|)1RUefBq^QUut)x8LTl5N?8q{AY` zNp;08wRd7_#2<?CG8PF7XVhk#G{SFbXR_Dnkp~>6(a{=kJTN0Hi|QmXo~C*8Ijh*& z!8`ji150G-_140CjnY>uz*uSHeWAOhj^r1PqOC0C92whgGr!&oY@vM}B}lNs6@eak z_<Xca54Vr)Ts^O@?o*;{Y`>ZvuqW+oQ|~*ntU8avX`sB*!TYYf^XpZK7MP<na8O7} zef`x7fI4M%+n+jO`elTVR2j-egvo=|OVWW<W3;NK@!p+F&3oEySlYaB6Q{Xl>J44N zo{9DKx609XsIvtc6`OkFpCHP)<)f0H3ZtsId-2)hTtl9X7@QY0;4Dh2G{l;Z!sR%U zvcrJj(q5!~*5<TUjlTSR$5Z&X72F;^hK>$hp|4kYn5&2ZG-;wk*$Ls(Ty}Dy22k$l zB}D5yX7IJY)M$U6N}5C#=(4ADaTQ<6jPZhZWuc*)By)LMm#*Hpof6X+yMU{9?!K;D z`tn7675cu_BJ@z}OFbYqe+P|6s;QXCA=J3@c7`=LrryKrdy(>76%vf*Yxg;ti>#&h z&Wh1WR2x7$6so~}q^<%ohSs*39bVL=Y<pVgC+zN*Mrvnb)x+BYOiXYUMpe&rpHDf+ zbGjWL4I5kYfuh&CWw3`}g0PZ%d=LENVF8JAl&;`Bn>=$+%gt82ttbgo!(|B|chm~f z?|r7fw!b6~5ap+;3h(apQVZ3W+RNe-OJXAPGM#FyWWuU+b1B<$Z2I|4+`)$+aJL%> z#2oxP(ZVF6SGGCN;>lg6huMp-NT8oY9s?k!v{`xp<fP%hSEjGaFui>(@%_4D4bmQC zUi|k$C824C{Du%wv4XD5;ZWu+lgJgtYj9L13Pq1+t1w^W><PFqn>^bW8dv{8|G>`L z?j(psNC}xPoD<Fy8NL;<-J`NgV3>aw+n=wY%j(;d!5$QJbWJx~<q*gi191;zE8kef z2#czOyYjz7?!xO0$om32m*i5XRNGFdO)o@z4GFa5v!pB&`I*Q~W=kERrrvz{8O(K7 zN%9?mWxctqaA-=Io!^de=Z`r;f2)Gx{MozlUJ`_bq>NZq*7KQn<FN(I(ydTn#=0MG z#I=woPM;AtzXuZx8D>z`RD8RNlRjvN-Phmfn=Ma!ac96p<;6>U$)*0-i4AV9IH_o? zgoeAs&}y|C2vIJ+Rq$0$YV#K<opsbi?#bw4v{|Z;MFP&1e!uhec&M4dSNRNJ8(>yq zji;{jbs;C3bSI&?>qkA?yq`)Zxuac=@_r4-ubH8M3&AH+;Ne-W-@n|_Vc2Qw%XIo0 zTaD7rxje>jGY8GbEj-}+o|U+a_7`$^v)-M)D}{?`%g>?bQz*K+=h~i5tV0!elU4?` z!&?>dQpd|Gd#^SX38|QfuJVv2V2lq*Ma5mn(6Gs1JzvSh6&oXc%S;QuB(1CngFxOF zZ_BZgteqOvLD-y!0rDjDmg~@)JvQEECLB@njCiVZ3MeNMqhZ(ndVN$ewq`hnA`RKK zz(QmrC2J0q5%Q*%V+0~7o>o=HS1KC*n7dQeryBP%-l-29?Zm$JiEI{vmq~1D4{UW8 zcYlEuGLGNS0bE8$UGM&&I&vTpsXW_FcrbnpZqya4517o{oUcsT5&tKfTg(zKdgT&5 zl$|puN?f`j6-;%!^Y)Fkiy<z7txv+=u958Bx1%tvSlum`@3tD{3o9|`XF%QvMfZ6T zHMg7NJl(n3Tj~*NQrs1Yf*Gmj$zL}PiS~7++H5PpQjjV&Z9}hg`0-P+*d5!%>rep0 zVl4`zlG`t1cCyL=7u_~9!tFtAfe=0>4Y?7l4ShYXobl2^y_{xT#B*K=q=ZmtHIHkd zEmZQZ2yjBTCU)Wk&0kvW&T+0dO}72ggO-?T=H6Ul`B`S+kVh>x)-eT)tv!Azc76x< zKGi)>aJ@OFi}%1;<YJnbtcRet)EqQTZ%hJ&?>?poQ(-DKEQ9hcF7wCSq3%c+x5BYf zP59>Me{<*mj{d)X^rKS81BQ#=(`hDrRQX+7-g9S%21~pR1fNx2U+z_`rjgJI{2B7j z(s9&JyX5yPW9DHzSdue$tD*dUl||BK7UNZNDc4Iga!qftLSyDCE(KNsRhIf|(1Jgl zq~iRwlv8~42X?db4|&yvCoWIGjAXjQPcr10<^pNv+-QXC2I%8SRbO~;2zYS+COT65 z93H!lWGm3>KG6(Nrh7XiT0KAMl{0$3-D`6|IEL4uEjKGqzfFkD4C1=?Auo8TY2GgV zRd$1@%ao6WsLR*rAZKj&wKnp<mSt~+$_|Xi`&U_N2x1-DB2t16$#$TdDm4Ua?-&N7 zxRqFOP4;SIP0V3}PEpCxw_`e)Tw~i>)6X)GDTUtM<Y<3cP<v#O3vN8f3mY_<qX-Ix zDahYj@0_%FlEEG)rS9mL8j!+w##IWgmY=S1%3N1?q3++TiQamo%2jzZ7>z?PriL~& z`)Mh3>$XX#j9Obr#<>We9b=%4h#u8o6R$FRrED)Qia6i7)x^KD&P#odB9vXSUiEgx zNh5o<hpV)dH>>3g{V-RxM4Nedy_JF|h#}B~z&ue#n<CkHBOz1LQ{|;>VITNbjlzvn zRm`KtjT#ZOo}w?LqWgRgMC0)dVN+Vdor@$H*~KZ1q<u9s6PM4&5bZpx=9JuFl(k)5 zWA?4?%;3a(@vv&#n!~Q|<%H(<c|(vZV7`8u;gKQIs+6h*4BASqyFm+L_7tU?XZrzH z)5v$|ktFzLTs{Mw`&-FCT?~8$^@ve_*6UD06rc>=@J*)*F0y2TOsqNNTcQ-AXcq6p zAPW@L+?HNgV(Cwgf*4t;x2R=NkC>@J*Ei7j@yF=7fCg|k;T3)`v5o#OVNn1&I{qni z=mP2?ncu62{F|^l8$+-WjaQTPmBpP|mQo4-33dp)uBcynMq#qugp|$yg^vur#Qw@t zg{kcZYUX(yfy&xyi@|RgVz{mKsH$a=vFO2rBw11c;~^Dw_PNBMB3Sj&!{KH-BirST z-$Lu>V1Qj2x_Wly=__jlW#@y0Pq6wnv9OdsfU6U1=Dx+%zgIH-Q&_FFWrxYXD29;b zlxRYcSYUOxt1}^Ulbpt%tENj^t)Fs$x18adfT2mIWDj-hMKRSE+0p?DonI>^tHy_V zk9r2|If3d*pnMN6WoN6jMfxLd<)afaH@#-_k$KubhSYo~-LGasLcDL)k%F}tMq-fh z<QgL3l3(C-Q@;#(-M<zSCI35Pg1?(E^0Kzp7{Rj*BKYVVNtvBUB71I5E{ubFi{D^` zP68K+xc(@p!^GnlMS9%9Yk@dAedi984k9$hN+R(tF1*?(aBqWVdb(X*QwR_sPRW({ zCzaG){5IE-fZq^Jq=u$HK<T26adQjL_#W6-xr9I#AmY}n*M&)UIVOhV;mY9=>Qd{M zL+?njIWrHMGM-`HVQM+jd^>MO889;^>_aI^e#w0WA9SbXQyJxrFhNyO6|{%UIm6kF zUhXWTsY)CbVB2(UYJl?P?i}=R{>XZhBVs≫399R_RpaT80$;0nw2Pfzwon%FB*O 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 HfAaqTB~Psv diff --git a/users_guide/images/image.png b/users_guide/images/image.png deleted file mode 100755 index ec46c73cadca390188cb5f7e317f89c111ef83a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9055 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 Wzqf1j>n(%cfTOxbI*+u^Uin`w96E>q diff --git a/users_guide/images/imageviewer.png b/users_guide/images/imageviewer.png deleted file mode 100755 index f608faa6d9cdec8f3c3612616c7e2c61ce2fe78f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17895 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 diff --git a/users_guide/images/inheritance.dia b/users_guide/images/inheritance.dia deleted file mode 100755 index 3687178bf71f9b14077ad7633df47e3b3ee3e18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 927 zcmV;Q17Q3giwFP!000001MOK`Z`v>ve&<(2=_@#xa!D^xt(CexY^pS^(%z7hnBdLW zneEWAhyC_B7cNP-CPY&uB7ul~{Cz&hKF1%){lo7WHRf1I!r9P-pluqMx!fbnADXY< zo?Ev0FlyX;1l{V7FVM`;BbbcthUQeM;MTI<-rfLRNTj#`l!QQH>o1}dS=z`lM-9W+ z1n`hTQCr%IloG@V6*d@};i2gu_opv-$UHN#O6^=uxiIF44$Z4ce3@1XV`XsmU<W9` zA`d$YxFp&{ErNo{4xH$F!zQ(o+KBn1s}J3)WJ+nn8f)7`cao?X5<X!?9)S@}0?`3> zr_))+;dBb8ehOMYg{Yr`$Z^1h5{RfGjl(&`h$T!)gt$D9bP?5CW}hptJo<zv#ShGX zf~Y*kfuwnrJ*Q@(FNn845i=G$P~M2ArsLl=g)2c{)Pz1Kk~kD^n>}IbZ19VU@Kx72 zBp#LrRyu3518JI?S%)0Y+a2pc(v&--VhV~DSfuce>*L8tW1J@aMijX71G_49@Ab=P zqh&l%B&E4NYV|=&yrKEh&c-J1jYiUyrx2WguNKh;cE5QIU@z}+aVd8ZI8Gj4=;<To zQ@rAU5yu_ug1+6<U**U!#j~-?1uGu0=kq8giF3E;)iQ5;U@)kFKE=eJs@?DqbjzXV zghfVHJb!--b^T^r#l<NkQelC4v^lp^m6|zn^kC!`g0k;$Icd^i5C|;gc-0|mr{Y=) zBBj%{HmYTnuHUI8Q~f?oxWGw;9LJhH&$B7y+woP7XZ=UvFi-Xm!-+Y`wZNp~31@}P z9kr!aPdpSvm$gdCb0kUY#i8U^SaN;b=p>4M9%B21=^QKKqShm)UPaGJvR3jmLOock z+rU1<qSZ%}4cy_Q=d9~g8{N9zS^MS5x?JryRCpFpq;OqTZHX_lPaP7aS5ErD>e8>% z>;t=A<p+Ba#~ti}>u%Eq*YzsDDh?eZ{05+X^Ztb2SLY)AF4FHJ{Vvk)BK<DX?;`!) zjr9A7wctUN{D~deq5(TqH6Vmw(Csz5pjW31gnAF(#4LBP1A6-B0CdU{3N;<a9-Qpg zPP0Dfp4H5*;v3h6x>)Bh3uoINyJ!2_d-~wHrKR=XB&5q3(>p9m?!wW%>@lW@dC}8# zohypRkIId8@6hZQLbYWqOvl3PSXg{Lkeg6G$CLZ`O~9y;c~vlK`~$?`d4)zF0092h B*g60J diff --git a/users_guide/images/inheritance.png b/users_guide/images/inheritance.png deleted file mode 100755 index df712fb78b5c3e216eb7b07d4d7828131dbec717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1222 zcmeAS@N?(olHy`uVBq!ia0vp^{Xm?-!2~4T9ZdcKDdu7)&kzm{j@u9YA22Ym)Oor% zhE&XXJ2y7ylb1kS{Fh>BmJ3?{L{7(6ylpEH7YQg>s3Gzq>WJ(MEfd9)bGqkv1$ug@ z6}BxrUiZ$!YT-#||2CEk4ojKijEmWi7pmyanc+88^WgrVi}UBtk4fSB`RiAfiPWc$ zG0{^JFp$RgO7BTgYp3mu;h4yAW4p@Uc8g6;Mn7+hvB~g9<!~xqYEKAvuu|BlBJ1#C z#;e0OJS2X0$cvrwIP%|j%av=49cNU#^ou!zQg!7OHfwz}yJW?Xv0YT$_gCtX!*kDQ zOt&mr_I+B!q<b4e9R6j<*gjTt&*|Nk!nUp^G_8GKNz%-la-VWmUA(sM=3Tv?Tc^rZ z{`=wL{98x)`Hy#elRmYsFtW`0usqpIVsofPw#FTmy<wj!RhchoO3HVc#+~-?UwN6a zGh6cGq`S69Qs#XY=Kt=?`|YiYy+Zx%L*WZ$Vy_#WVhfp_;h7hzI6rH3Nx0nn?HUKS zK~duJwe#o8U)Ibx=oG#0{r$Ulf9}h-68t)4_QC1Dl2%5ZJ9o}!`2soa?9*u~^>-aw zj~_q&W2vpJ?My#+!?2s5YWLsGW8SfMFYAT8?X~yK=T7ljv&nS+dB&KSn40=}V7N2S zIRAXv<e*O5Z8i7bmsl~RZJsHRWHy`eMTwQ!)aka{=FOkaxFu@s+cNEz8+qH;hH)P_ zeY*SQl_`mxYZW+l-PLP&St6xB$8R~quDf{xENsQW9je>Jx>+02HovTl+jHUbp0v%J z2^%9M&iE>t-Qa3kaQ!vo3?H@5(8(uR9M)goym(K}hOIGrj3!dOcMo-au+iW3Z&Qq3 z?~`R>pSCqAy!if`;n?HCv;!43Y!}{t*VWMfv@LA4D8uo>nCoYG3S!NF$v0iiDt&Ng ziu3I-0ha00r!%-M4)nW`VZu~UTI#xYPsZ)2_176*ef_oXP**|h_PF)T5$mtBpY~;M z$!$%vkl<n9X+M1E!NUTM1Othd#EOPHCXP3*y?&kDTFsZApTA6aJ>S*)j2w!2d3knr zcBk?xYHR=g`{(!N_m`0OZr8H5o=uzlldYzrf}sEymOINf-xLUC-L>tXT28kR5Q*JV zvdW(Xj5e{uu*ihRDpp3~Lfu{FpSU+(n09o7u2)1x_j_4mcgEX`SfD6LqV4DZ|ECWd zn9SvzeEj9hOo_IddvIAO<H*NbUAK&9o_n-o#f^)e?%NBVeA_qa<ibyLb+!H;)4nAn zwX1dU6GzYY4?X%;+L`pVEK1q_;fvb-8n@pH7rgfrEzkS?t5<u&(pAwGn_jKI5|LiJ z|6}~kpnJMDm&^a%`{%L$V+Q~JO;e3`cTapH7Web*x7n3kmLg}2Qreas`n-P?XVYEb z-p7AS&Mdi@u{vk_hcgYE?(TW}&OGkpy~2kzTdr*FIpbOO@Xq!RSsrPtep}5sy?;?j x!<kicR@)fOnKOq&@rR#1uTnIIuRuQMm$Lf%EZ?%48(1(gc)I$ztaD0e0sy4@ScCuo diff --git a/users_guide/images/mditest.png b/users_guide/images/mditest.png deleted file mode 100755 index c8b9ad78562b081e04f416397086c91675de88e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13699 zcmeIZc|29$`|y3tQ#d%r3<t@kBvc5Q&LOj{Op(k}W)dQVoO4iyQz}umlzApHX2?8M zh%!W`%u{CW?bFBa{=I(p_jx`4J%2o}`;UFj+1Flc?X}+Px~_Gt;o$Xk)#+)uXb}hm zy~b6H0Rlk=AP}V9)MT*a3#wTa79jMsuVdj`1mX~hMBWR!7ycmpQ^Tieh<bWr`tb1Z zpGW`q<Np%)|1*J$J5e@p`)E9_ntCG;42?$@$&)h-Ct)F#kA@DG>N6PwBM(IZRa5If zBCLsz@*N*XcP~U{UdL5fbixM~VeGtZyqr9IoZQ_IEHwOru$=ZtuIldL@8#s+=!3{% z?6?d|8UB%a*;ySWMf*6p+957(GSa|LXpWv-bGP@oYvpB!xao0tl$`FL!kxTrT&&=v zUWoT~C68e-^^w@v%FE5k%>hw&aw-y*QT@$-$IHeJv2hqScbrVs-PP63%?I(P<7q7{ zqdZD>-O0zr4w13=Sr~yJL1<u<ulv1RNRENBv+~p`97>aG4p~Nr`7YAXP?A&Zf0C^% zrDYOJBUzZI)kD;=@yo-m!ReqHD{E$i2%v%xV`IW?WC%-A5aEFU>lTp3>*!m}LgfI9 z(956;hzsL-9SXnZ%EOV9hej!UU=4n1e=D;fFCa%`rZ(L%d930q<yasJtnauF-p{`P zLg@=SG`R@JC_Uol>ZSy9MB@vr|2alR>vq*|#d+3Bs2;%=KrQ=)v?`wMZ_Id=>}j0J zC;MNs#@-_P&x{ot)esC#B5i9)RxhEm3Wss1robCoUy57=5s~AplhQjw!nA{LIaddn zqXZt1c#w)o($4OiLVMcH#L8n91o@}+^QF&zAUsZqO##<Yan$`Ik5bt=@U_!{&(8>H zj%OvFZd0v&yo!V}68uwCcmpLFuhnTdLbk)|c#H@sX-LiBJ%=mj2`>sx@ghD<F7XMr z40zI<qeZ+&yC4%o07N-_$<)0fB^x7!@ge@hg=U`I9WE#cOf^8Z80Zg>okv^wThh@L z0`_3xWsW%#j@Th6us_mI4nv}P4QO*P-`M?hpL=<8)FJ$jDTCFynmxXdI1|kFoe6Y6 z?Pc|C+2yYR^6WzLi4WQZF(eZbhd=v&#MmwA*%Hy|0eMMpxPM7_3L!!)o=eeILoe>l zAG3Hi$=XDq2J0r_vZ~uq*twPV03B2@8$v-9+u8x_*jg|}=uYv|a>UQK$|KMR1&I*3 z4Q=;(cND4Rc}TZfh!&wl@*moF+-6vH6cHgb7?L`Y|9-Jg&ePGoR;+JTC}9Z)f)V-$ zbG*WvJ-V^b%l&PN%VbbsD1fHHY?FdY%(ztwDC87!k`6<nfo@9-2OcAN-&HHVW<j^H zn-QCLg+(mehC_i{F5uH!SyT-y!#pc_4*)3|@PNIZ96T5LEa1R9{~v)xKKm|H!G`+E zK=2a=0eTY5U}xFvM8YwPr@-8)h`n#itISYzs1?O_YxkYLca2rFP{%3k^S4{<r}^7L ze&LGtv@c>(pF!cx>-IV#Q9!$5QN$}gUJ5PZ=xu?v=D4L@S`c^&JYHV04LJL@13G)? z!gJssY1M+X+jr<k(>5_rF0`&C7;KqD?HAub+9AC#rUxK5PDKN^x`$si>6+Rj2Pw%o z?W7+9Kex4jFOrN*hip6;PU_3v!Pbuq9`LuFVT<^oPV=neal|c@`G#Z<*1uYuKG-i} z`SR9HioTCQ#NiC6%A#0gw5ef4zlZY2^U=<S010FsT03*|?h%`*p1FIsuGA$Yk%2WP z3EKm6Yn#ANl7OLFtz#B?i}aZ72Z|JwFmiSrX}l6qoB*(ti<!qGKsGcjx<HZYfC@A^ z`c){6;a5T_g#c_w3M87)q=TX1e>oh^|E$)T5j>U1DulcuzBczGb|d=_GQ!&m9FOd{ zEN#1QAc6U*gsSYK_rDvmk-dqun=FC?O?Kt@^wZUh*LEt%gDjk}QS6*KR+8?Xf?)rE zcembvX^bgv7#G@x?W-KJY5WS*qMm(QcrJtFTxttD&YA=)`mIE)^wI+jzR(u^scx~; zCo|VT^~<8$+7z%WeHu9HK91zNP=M|(o1Ije_U-<P_8z)h#nR<zKv%W}3#(92U$%8Z zH^r^u5YGU!V;1kri-2)^s@cs<PTKGFY-Bp;SFdO$2+DA4Pl@H7)uecXFlMSJg-n!) zs5o}yWFGu|R|`Nkkwf1KDw?0z3tU1r!G3@gQy2n-Ai%RQG$j-rj+FZUb20O^o!y%i zeV=zFf=|l23;QdfqTWJZx9@)M`#`VCeu%d9EhPoH4!@s8HbI5Jyp<l2OqFl5DMfwt zm_>W0&~7L&jR5zuv&q0usdzvSL7ukTuSQfv029J*)s78V2?hJT|MB5MSf&2y+5ep^ zfCO^EulfbIlE3}IgDVo!^g9%P`G+!;fVrz)m5nB-5)UKJD-*TQZ&MC`{Bu7rxA6w5 zinQ(?eNiAEMiK&aVoilbe(oY?v~ZG?4_Vts<$4TXF|Uc@#+fJgc?LEv-g^KD#tCXZ z<Kri25tp}eOs};GwB1FpO%-y?@cnmVm51c-2cKIp(SDBIc3R~LS0?heASXGex)pKb zOt7sATaMY}zT!pN0bUsY-etMwV-{T#<hXIv<TlG>;mgi#8t4S2q~;m0el1b|tsSpQ zUVt+3<7=r+;VFO>>)!;$?gAtU+l9+f53(&xp{kL@hl*7yemuKxAMA`>(L4!S<PQ>; z#=#|FNAksv_iRE+#52q6cX+2oaq%d-OOv&4PUyKYU^MWnmnQ$Q)*}nmAduF<)(M7? z;j9ToiYGW&&$SBOujhb5c3=ao`Q#p?iqd~YcK}?$kZgnkoYPLh9Op%mLKE@}j9>U- z4k?=2&j<JMLNZ-n4$do}4|1<20(TCATH{QQZ1+<4Un!0JJHWI_yk#fd8dv0>@+WeZ z1ZPlRNw&|szH!VV=T>zjkh$i=1YXJ6PiD+8NXz!$H-B(NycBARI?;drdAE$-Zi5dQ zi(Qby=AKV--?K@H3=&Cu<!Ule^62fuO4zu^MgzM2Aep&JocO<Wq(=&|;Nm@x-btDL z<=tCW+l6~^?XM}z<AI#V%BVH@VGQb4ayVcV(@VpRv-S`NFG;nP*e6$>sOCU6$?LsG zHu?A6hM+h30fsKC6=S#mjI8+xfsLIEpO>ylp~@n}C|_9q3L>6X_mFwk;qda^zExfr zYD`oGHs<KH62%TXTvZ6rKmsz1xzSKSzm5`|BTc$z?sVGv--=saM{9oaXWmkoK4vk* zM;T3vX+3Ii2>3s!lc`ZawnwGZW&C{u+-H9qNRmbhT9+tVJOHGrpsW3_*zjG~I$0P$ zkwRD3YtuuHq|}h2{XRoIx~(%5AU)T%N_7u8Ii-XmVX@<Rs7!>NIXRNT5x&Qea3Qe> zFoY5l*VEpBq}U4qn0*_VjH_W~VNToEX2n#<{ssL1TpiArpGTM4a-WVo-u~X=FV{-; zx7zkIilv3ZZH1{(!AQx<8=*kVp)1?p20S;-SCB@go6a=<(fcnJ6Zd6HZ55Atkrbp= zJr(j-2PvzK1z(j07o6e(2ZK@#9l;>~UnH3Gg^slsHU*blTD_F}3k4HN|7ymG19u~_ z?$+RsqK+Gn=sGnA;gn^k$TF&*Q=R{Q`cbpL7vbMxAI@LRnP{~DoE^m(sdF(%PohHk zi-d2F2QTHKFrH)}nh->u{x9~hn9|($H#<ag5L6KlVP}1$V^-w>#fB3vdyo`=E#kyT z>DN^KfIy$XnU9!EfbMUfo?jo?yXkuKg(Mj_%Vp1A(OW2{x*v~+%Nkddh&q%^So3Lz zs9yR|zv>KcZO1uA2Y6obHwNFmg!9T){V__t^3?DB(EW~}Rab!vW;uwz#eQp%E*($$ zao&gCS9&^j;$OW<nCZ;hT$Da>lLF_(oQR~LnJh<~J5snIzE2@BUt>J)1*hIEu9T(X zW&B%A$uF7^^z5oDcAG4uC~kf6Ok2e(i`R0CVuXvLk${p1KiDW%bzRvt4)z*jDv<W` z(IU<3TNfnmSl8u-07wd%@;m@<^=&Hg6&&sehO19VldgBtK;dr>=gBJhWK3zof{Q(G z7T$MwN?7%4C%fj>c}GffeZi+1bw;fQuZyMWK0J`#Nw!&59{DE@;{^{kM`>|hG>uKw z)QQ^1EVMU8arIc!x8mBwfw`ud+U0Y*qZ4=i{VB;1;Qi~Zz?V0;B3*;GOAVM?DnyC% zIVM;5XS4M1qgf}TpuNuQi|YZ^BXdu^B@2adlFYJD`1T4PhN<amw#Cnt;j%YGEO80p z@}k-Lb?{ku(t!u~)N9K2DqjG2MZj27S5sp0O4|hcSm86tsMRmO<fy{{)mZ+vwM6T4 zfF{-myfRc}EEXm%x&8nMixX@Ue+7@|+Qex+;w{ZkVB$fv!E-Eec~6MASulT3x5ZE# zC&}S6HL}f}zF=(PT!>pGVEH$})7n$b_2O+!`2l^_Y?B)`7xsR#)@QF&Qojh>1)h+z zyFkY*w(+Y0op0q8qjE>pdpLeP&(}Vs83GuO<$Lt$U|J8WMJ3mFMiLp9e|4D~5ex3~ zG#wNZE5eJsk~?ZGUe&78F#37foI6WvCdy6`5{$GfDpN)&Rg?ki%KPnG_+Z8PZ>Jxm z{2Zt*3+COv3~6gEB1g}ZNojtErB=0>b6Y$sAlCoxp&oSp;5;21X;&zg2kU^1O7m|{ zKX_CT2dp#dG`?~u+*ZJlNFXD+ufMIt#|JNMr0ij664{$}PTsmnJacP<He4hq{YRF! zYD&BD0za*YpX=X1?^i`&=9Vth;%O3SHc33qONJ5oIZV=@KXS{I7<8hi@$8H=JEi>D zV-~DA_wtQ+c1TnO$T`Oh!b-nuPu-PNVkx$Sa`La$&Z2HDqSOB?0BlC+bf^Swiv1oN zyz>>2sQ-%&vmyZ}4gsDkq4>xyNYMQqGsG$+0Spt%Q#Mycii18+ob^$ns}986%QRpP zR~m~9vdJ>!w0)ub3|2gK)NZD!`~}d97Vw;v+J8Huikdde$0z6iGR!CFTuB6L?U$-C z;#x90A#J4?CTY2=wR)ZU-`L8oUTWF|UvPi?87=$#){>8FqIRurzD31TfYl@ATl@Je zV9&qu&Bo>G01C(hVxa^tql8lYVqFvqwQXXMM8w|CTWWex24fw2{g?$DL>eQ7WKXhc z^;^d5o*J*><EM=X8b2C)q-uab4tqj;jb&!HK`R%|%NtEF7yHt;Il&D5;Km6UM^#d= zNYXw-YjR6igaek^;4^L{1$SKr6npZ~ilO+%YQbSvqB;CTAKbdA;Tse`Le;y7cYNDu zh$%pTi(MHIcPB!JTr3p0Lg^^rNb?U^Wi2$}G06++8>C?1i5^T3Gj7}_<n)85|G;J{ zA&0g&UgKX2A)DZi`9HFDA%%8o`ViF~M>)6!Y4@$iQNaU2Ar>-9EXrDsm?OlLQRlh- z%`2;q+NrZ1nH)Z5aX4f1Z^|xaJ1AIDMoFCeHJ(cU-*~oH`qF`GVOU<k{$1oNZs^cz z7g1f{#X<&0ur{jGn_HiqDWI0VC)Kmc#FGrw7{V~iWL;0+y<3Zm-oK+o+cv4L!3z{T z(*QEvaZ~nA-sv{9qUUD_ziur4YfaLFz}ENbnXG6@MveR`Lg3lzZJr%1Z^aVSnf&=X zf?gu(!_OZFU!#U%4^&<aE{U#yzkf*Eg*2!X8~7raqQzPf&hAqr9cB0l&y<$}Fu}Kw z<2C6)IxPLdBuQ$Fw0{4XnR%zie6vfE(Qi%IQohko1AJ&gMfNVCXc)I|b>p)Uk&yU% z=9tCoZmaS@-YXH8ayJSY-~uKTaMERI%JS58ga_Hr7uf7LarQBfA2BLC16b`UiUC<; z#>Xs^l|vsc*ip)y_8Er^YXE_e3cgBLJUq-$3bA)xOK&RMfpAkrO*0Rbsw|vrc6-K8 zB_y`xGI$0HHkyqOJMT(tw!X*rxD=8mGTDi4?a3GtW6G`vCY*ej_i=HG+e;qV^gg!~ z0I&V7-lbPHCV_rkv<~JFR48V?pp&gJjPob~t^&;z9-bOtqq)9F(N<C3wW$XiNse`I zE}U8tUw4BCy}F4C*h(&*DY9Sy3CV)AGrTwfbr-PUg${X|mlXIbLft_7!~mLhNY#@4 zn8j-))FkgSg9<^=OKtL<wno|A8$+UNi@IRR*~Qbel~$EPZ6wCk9dtgP%C5b)GI7w3 zeLAGN9L|=V<VOZ}u{Jr|XMGLAt}HM?Z>|P{D#Wy6W`nah#=90g(0o2Qn03KA_}No# zeobqR({GLXgA7Uyu4@OL0(!U9n~mm55QYr=8@=fle6o`(Lx3v`tw884KPk->YdrW? zfg_!X7$-dIlW+pLbhWH55j2lP>)}iUhI(UK0Aa6KV6W6db8gJ+2}Z&W*|>9qyKh9V zq)BmoNS^$Q@_lZI10x%E4;Rm|;O-j?_w3sgtVT@hO$bP!vU`WehZpA4Mj{lyFGn4- z0Euezj9=pKV?85Ax`0;a%+Gz21XD7o;2-fh47h_GPECw1Tl_krmjd`l>YvlRV+!k| z1y&<i)GT#7mT=|9O<gy<FZ6i8m-hkB&h$l$h@h;cUjO$YuSR2&n(jY=HnVIwCe9C; zhb?dex6MfDQr+=?(iVKC`IoJ$XfoG~ddM!pF7J_*J7nbCj?h?oc;R`>jQKU<4=HN! z6FG!Z#nSko+tuux*`&P=@6usrW62a`HBh}`X7ts+PF#w;vo63W+2(=L!ESmOsW}PL zCMA8oX_^>dd;6=e3NguB0c>Hxkd(@3pspxqh_^L9G!6WMat#G6qrPAp^nc48vv`gs z6iyT|`4xxW8$YLM6nkSq_F3`iwVXp=enKC8%^?q(R;TFNhi2ijg$4X}YVjXxu*mTo zEfasVAUu$w(k;$ZC80H8rMviJ=av<IDHby~xz+7Q6>Ns4#mK6n?$h55dA<rlJ&|Z_ zqxHu&%PQ^XA61RPY7zBEw&7&P(luAdo-&hMqa+*FFDWO__&o#y&ys`p8zJrX3a?v% zukGrW6t@LlR7Pmjhz#knKpgZj?=yyF`?%9gzDCSX8InR<G7x^WD`#^GU%iZ1nX>4m zGayn$smNgpxw5!%B1&1|1|4N@nS^omYg4;SP~cU9fSN=mdam9A+=|sJu!C2K|Hhr4 zglYK<+ZT{_cLo1MI<-nb9j~}Yjpx$1A9D*5xXJx763teu7^Y&84|?~kuhHSgC(J=x zzRMV*W3ejA;+=*XQ)FTW$O_A2PmA7cV-p&5)p$+{M&}Jj0(0I~YWb!VILQiwKTj|} zl^L1s+#;C;`?!lan6Pe6^^+J8j-0oI?(Yoj*hdZH_n4hS(yyE3Q&SySTMLVD4S&&d zF6w<r`Hg<kY@WJxYNn}w?TxF`$0m&FXkL!y_wSS(JR>oxZ%@-DvP3947;3tP0o9&4 z!U{Npl`FJ-dhXF|PpAE^3sUhR(-reh5fnrXxxfj>#zyZyb!XM7oQKF!oar*5sG4II z#zT6V<n-8;ZuTL3y>XFOKNihP4TUi3V1IU>jLGo4V2EKND{RvtxB0A#>Q&qps>9p8 zXu$pqQ}L{LMGrflEe|5lwx4khYnA<$41@nPG^JnKnISLis6iKfSzS-U*E<&Q`qM#I z@<HAuN`=zmJA|^>ShZ-273%oz>R-9J_=WHN8w%fKUua9fVdPEKOCVGMOP@;bEJ`>u zpu}WGpYej+Gt9M7vh1`*@xsuuweqP4qt>Cv;lqa$IInvkSKRl;Xf4j1FE=Jgim(}H zrM27G6ij*qzBpu42>5VEvkPV#D!Qb3=E%;E8K`q@=_a!O{<wjrO_1PCAsn-qn1X<Y z%el=hHMZE7qyC((i}Fci-97~in)r#-pYxZeuC&DArV7Hectv8gNkym<<N6+b_{s6= z#%KP#bDBFgDm5Q@!S$Fm_4qz<=8q@v8=5y9ZSGb;-`<H{mRY-6YM)7!__LJ>HlIYh zfN;Qv-xw7j+RYSE+x_WLktD(3T@4_cvc8;t)fQC~D@@S-_GWi^Tjer`E7TVXbyxVc z6x>2><J)wjga|J=GpV?ExG_#j`4HwgdgtW^MLSB!!c2z<yii50jm1N@Bw*nD2l>D( zz+MfXbzt%0rU-My;=6c2@<ca_6F7gZMooOf))s7IyewY#?pw{tM>!0O_}pU_2^|d) zrKiliZf?X!5dg58_^}P!>pR9`x3=nWKFKDEneTxfG3P*v2&}i&5wGaqOB(t4xpH`g z^{Jo#=e+f1vl2_?v+<%o2k55`f9XE)vsKonn{NOgMRp-EyPaWDj2DLL4CuDS@4T5G zbCJ%2qxIkBMCHMxcW17>m!0fI6WrgwXQD`%i58{}!Zo9PWF^9TC5vSZ{PQ0I(;jBv z*BX;^Z6(}QlBrtcrd&3ZW3Dw?Y8oBRU9a7|eX(*^(&mwNw5$hK;f^y+4H+yQC+Vw0 zx*{-46F~C;Kkc$tIWU9~P(=lZC2V+HiWX%S@@$18#S|8->8>vY_zlw+zeIP;!e%HA zjOK!u7Pu9kC#Jp3d0u24Ax0S4Y-Kx99m0+qulP*?x^;hqW^NY4YRV9`L@<%)chW(M z$7DCWuaG}+mVrHDcxhLGp@)tNjvZSIAxu~v4HUu;kB~>fWNRwavrQhv{hFNt4kF`I zYf%0IWEcM5;>UkO&sAG4c-8VK2xXSpz^?3VO#T~E?hTO496IAv4kd4E9;7x`x&9k3 z9td26r<zaEwB-mLNm{c9z!+&s8?gRyXC-G+Zj)@i{-~_aqG{*Bw?cPuih>w5-i|Si zV-|z2_aZYMT%FIAS-V>Y1xdSTg+;HrxsBwz!z)i~4i@ou+RCtkV|$3fUD*^etWzxb z8FH+xxx)g!eQ>wvA#l%3>JdQilmKq=6(^{E4i2J&P=+A@)ncWNS|O(Q{u#Ru=>Y!L z_q5<2Qxzy^0ZU9UQ{fKTf2urtzvLld$5$p@*ZQ4S@OWv7qg|MVa#S>AY8B;`oo(SW zZfP!eOU~lDb}b50r}i-p6j{F6n7UE*3SP2FnTxdKk?z$Um7+t_HK~6nyru~6gkdBk zMl?)q5A?*!`a&l)9-RRoz_9pFgNo)ru9#*?`9`MooIkS_OQ*;i6}6w?jxl7oa>aH0 zF^l@BXAq7A>&)k?2Ht2;eb3Ugn4=3q-O=j~EuVCyGGf7$;PBwk>U9#(k2AY_=OKm$ zEO)dH%XuL}>vZWJ|By|$esq5`MN`#P8i5;@ix<MUII(*gS}*NlL3>|3L~p(j^voYa zhnDmHbASCH>wUBK8@1W5HDSEc>DHWvaQ#=tnIdAU-eU?YUkVVobK03KREW9zGLaTV z6kv%MNbET)?%Xt=Y_Bho7T$#!)Gm`9^h1MFBdK_6PJIE|(Z|e@f%6GWFYbIJc+d`c z=(Z>CRSixL=~PEEKVrAD8LRNOH=t-N<ARn$ci-=t-n3t^eZ#@$_q|#C?i;bFtJ|(q z$1D(DgpUvI{gJ|ov7}CLIhSN;1|<G^-t4>hRi`wXSr=*75HW(O5Rtp*DEzez-g`kL z-^NM$s^KFUSnfGJ5w?l`<zYpS00|Wj0o87>Q6?bX*remkMVF@z-Im+_4*=}^D_)<E zJ;v2liIL-6nzQ(UP#{EdJ&4!_;X<Fu>met*q5~a9s@}Lo35bgqeYR3jBcZ$~NqYvF za-;M@6U32RgF%@(U_h_aWIj^`!3>28jCk4;mpn6L!Fsp0fK-JUP24zdUa!|REci66 zD{uPS_~R_S4owNNQ$xPd0CxIDnwr|6o*g)!Z804MS*Umn41F^I+T1iTvf)MEB_=~E z$1HNe{Uwlr#qQwE)|D^K8WoHxS-qwjW1d?sDMtC{G#4wWK+O!{wmQy9eJ(t6i=gq7 z+eyr?T=0eiyH`<W<a9NN8zs?YPU(SieJQzq*VsAJnWa(K%H>aaRlSoU8}`L|t_H%} zPR^a6A6*W@D@r`AV8Ti(&**lHBvp6l!l2_#201Cstc+Kc`1&gj1L_A)3A_ms>qRzM zPjX1&dC)`Sd;znN-woHwk7bP{zoWPR*b((3EAc8RXiYm1dT~d7@Hr^zsRhnZS)K&P zKYqB;%GN~Na~*Z>9VlwS*2HF19S`in>L)UG9+Z#i5tP~dc0SFe!~|Dl8lcz$^l{q` z9J9Fc0okO>(Dl>&2lY1eu}8}(sf;MSzH^$vPHU&2y+T(F|G89R=IX=q(ifA{FzyxK zu87;>;}3AYxOi&Iy8#a0iRqn2>cSYm57EOfUE6KKqvN@5uX)W5WR}kAu;xp*D9iY> z=CW6Rbml#o9F^EF8>_mLp4cmDMnZJ#Dr-%)FL_b*wG5M-9uMq05I20>c-q}S<~XXO zFzWZ0*i-ussKeJR&=0(g!mMIiBMW1^t?*MP$UKL^XYi_nL5f{Pw<KmZCJZ}!C2e^v z?&T(4$otKiL}HY*bvYFn(2&A<(K;u(zOqb&mZg<J=2ko&8%L{5{4QmrCaX#GtE0`k zk#x+03UupAmeTYQ0c*!(lu;gY(ecb!N_k_V=)?-Ggl|dO0g==jwIA4{{MiC5d8Qen z=1pwem#x$sEQ|Mwv3@D2`LUuOu15zSc1`G}7h%4=!OXb23`;Y9M*-ZE);CQraxI<J zKppDdp8s$dU9ZSmvZPC1!OfUuE91pmD!Q_Xb|%!nDi)n|%kB)q!tGsGZdwZH6}sl= z$xdWn3p{no?H#4qP<(o>9>-)DuCM1xYsU_rKd$dmdLI-!_@L63$m@8D_9U1!IUf3M z@7aY9%EXG96uT0%%E^Verg4uy>VChGkp1n>xOaq@=hwu_Te;I2{|1(GE&A-!bN0t9 zM5dS`IzQU7U#on>8qdl?^29X7>7f5UvEEs0V>l~yE_yo_3|to?aD+dTYh$&`p8hSC zahCREzfcl#!HDi=Gm9-sI5J8SpGhWi`V-nnFZK)lW5E1l`Jgl17DvmAU(3m-2`fEu zkCPxw!t*UhS|zoW-Z%iyU_*u5biqgo{H|APVyQOJiJ9Hcn0v{YeyIh3CwsiQKHQhx zhM4W75a02foxIF;1OxeX%?s~5W(@IK_Na+^8?{iJku<j+yPd9!XWF=>b!ES>H0g{0 zCjE4-Y-_fKFP$i-l%rbVxq9&=={bjmyv5qb^$)L)j<{@`Ej5v+9bk-1Dl=k|E6}I8 zcFcm+Y~IncqAoisEGkP~PG|mM_*A52*(XP3A@E@*Ko<2`F!$jfR@wLXFnbivfD>2r zF@qDUSAUHdY3F~Z3jImt#(q?kWQcGJAcy^#Ab)up#X93{-uyx`Z+aGjz7@yU$W%Os z^DeQbmaCaxW^$PP03q0q3L|}F*AZ=Pk?<b-vzXB$^49I^WJ<&&DSI^ypMWCK{4N7+ zdi~RFi(sjgQvdz=`p(lNmE%(-gi*c0!Y?>}DT0EDCa&nBdA8I##6FSp5SMn<&9mma zX>xt(L>8)1?1Np4=7+2bak~@G!7_W{euZ1r_Tv<Cdb;2@W{ikkEpR}a;w)%CWXKS6 z%mQ^^FZ_zGbvSD>$^ghpb2WuygD**dsy&gVg*oC1hxDZcm1b$BCx{!#<t9C4E^7Lu zjb>#@I%PPO8->-==quzE*Ur=#O0{tkqa?-L!?(7)>``)vY%A8N_Z+_QVqS}EjhChB zxRu!wnydWfg{GDAE(tV}nEO+6Ho-3NFnOb!>giyi7Z%?DurBNaBpo{es!x>lxkFv? z1UyBdwBS2jQ>V9OY498}aN?pZiti4F$p(ixQS<B!?aB9;?>x|Qs^-`8at|!D`DWMo z3EfAU$_Z6<2ljkIyHJCt2+urQxQ6a)Vt&$3s&aTgP3ye<Rh9M9i(=HqSo|F$)6D<c zXAgwl4B3Z8kEcBVR^FBIsGb!SJd^vd>=h|EAJ=RDPLeAtJt@X<ds@j&$AM@L+sjr` zhR-E4)NWWWL&3%M%SuEU((mzHBe6GK7^+vhLe1y617tac(l{#ml{Grcbs3>kSFQ&^ z9s6HskzXHvnpL_e*4N|cB&YG~6<Nj5RYBkH@#{(8%$=o}iPn~8T~WM1vz3>R%f*<O zKTTTINoKnsnF)UmBGfl~;WzY*OEw6`86s^snCVH~wb<*f#?-|qNLzkN!2wl94%R*Q zNdafVgiF;WzWxlSeq9ak{rCE-S;6yv;p%6xgAG5@A)IA5W6btBcsFj}o_II$MB6ac zv0m&4mLwTpEyEP%kGNR$z+?XxcQuVD0X41Ph1=Lv!3zokaITvUsQaDXK}6$dIt)`H z;{*@R1diH$lEJf}t^2tyz*7Q8di`=2@F&`g1sm5S3-4!GCOwjBa|5AlivUMndgJO4 zHAT({7U-fd8MvsU$T_*KzQz8neJvD_ewP-l@};fzwe9n3p}^+bchM>zgfJvQy|>i1 zJ9N>sGf|6@@Giw`)qr+5yb0l*J)1_3BmF?m*+he>kWRKkb%08*)}MkNeRMt=cR7zv z@BEV&0V>_{A%fqs^zTr?CkdqAy^3c3KneYL`AAZ8REc=+i=NsnH_j`}7u$c#!aWvz zd4WmDWuGu<A3A&wO%Y~Z=swUIv~bo#KFF3x0-%I`2YapA@AEtvj`$i+FL!&lAx}T@ zi@I7SXAb=&Ck5oPB${0(3;D!>T_1=~NHCeLAxAfquT6;W?dCr3IFIK;tF;cfkGOO{ zz4rWy(Aq0~dg67T#NDitF=B%e*KgN5gmaQ@i0jCReS!3i;;X9;E#sGyYImERPm|&t zy+ksaOv)RTi}$(jeY>F=2R?!VCHXc<R=YSA>~n?gt(6Sh%nu83L5+RCZ8v0ubQ>Dj z%=|N>I^Y_xfQ`7uk#~Nc<$%i=3--3xw<;4?5LRv!!TQl1=6&50`F!Wk-8yDr>U3#Q zVsyW}VV()=)Xg^4k~wMhj?%0JPzTRy{!!1aeRTVT!I`x3KbaIVzYDMuwnT3Lj?<rK zGCD4K#5`>ubXrR_jsu=Bd}p(Jbrv23oTDW7Khfv}XqyiOD&Igq&B?a-O_CM4FzD3T zVBcf_5rHF%yo$Q-9RmBQ4F0UR_sRV<&?Cc}KU8qOS*TxeX~?S1s?1NJ-9nEq&pW<@ zQhyoZ0l4Jl1*@2#wCBZu^F>JlBfLccHwyN)aB*bt9tG@4U|mJ0Z5{1wb2d@I>I~<} z!Z8mcdfchssLp>6wyNfl8;-7K9UlDsIn4V(^tg>G>P26#=rN1kOE1nQ-cP=fG-5k2 z=>IOaYACN~JNMk}^!IF%gvW1yIi6oX-V2$b?%Lkb3YMmhWTN0~YJLceBrt&F4LG<w zK_N}~74$8a7bb75+-tX!g;x|Zw@jaE-4AQq%X_MDBU;pH&Iz#~+m{mUU8k8TtU_;J zO?|^L@`&3W)Ujl{CtxADn`tiKUh$*b{?dfoplcMP^7l-p5a|Y9!jN#|!0*PNLsY`q z4@Eey!Y_|BLsd6pu!ClfRDt51hnXbY?tT|=gTK8P<kGBjQn9H)xxO>5JTFH?^N#?2 zV8I&Y0-7bF#>9oi;1a+m#PBpN+_D7B^Iz!8LvJciuVo#xxK#g0jW3yn#tg+3LRCx_ zg&TyHyJN~9_Fi%wou#CP(fa@dE{`)W`ZGEMW}_kL>!S^xP-AK=_^2+(zx*knR*MVx zW`CG!7O0w!an~is`6h4<4g8+Xeq*TW`u#1yYkK5x-DQgI{(k>y$3?el@;lVBm>@z( zHnDY7MeQbBp{+Za7U^3yBuuc6QAe3^!abaqU(nd@f`RBKayQLc>liK#?nk<8pDRcV za3~vkPFsi7;C&%4XPR54$k<Uv@%go5;`pg7*XOZd)!6rj{V`4v!^hD_>f)m+r)Thw zt_*uTIzofi6#ka*qU?XG57qi@_>k@2_0GSl1fP;nR$Bqhh@GK-7URmLl!loOMb;u! zeF<>K-y+6nOiv}5{aLJZOX(Zdi*VfD75P5<sGmP=3upz9c8bGC3PJ{LIo~uw!7ZVH zp52<0tohkktAEkyPKl#r_}O>i{l6P`!Mh*&!aE&Tj0>xpZSG5V`ct>&zji%R)<odT zkBwmQrx%MzgC5PrE^)_y4mbfuM?USmu-R~=5-luZ^Ot#VH;<?)sX6Jj+Fn`Q={3vf z$7u<V0}^k`J&F=dcYn55Eq>}b^HfuAzO$^iRAV3}xeYCcfm`OO2X56heS2JX=n8)O z*6uAIaWpd=ai(h7Fn9lT%mTPlgq5hw6l*)Bwz3}QCdw4yfBVw)#pWH{AA$<B(ojaF zHMLTXEo3C&Ojm##nLHBMUH1EIQx0Mmi&tIf20Sk~#Z3E2N)ddiTY!aD)+XMwLKv&+ ziolulO~tu@#}%)1K%ap$gl366SmLc;@CB3219uBN-;-21@9cDuMSPx`0(ukuhY(*P z;F#L}sJZw{31Hd=r)fb&M8}Z@@8y226q{qy<Z+EEoGv%Xsw#Vxo@{l~=no6lrZU=M z`5N-{<_gZSCYjRiWahht9t3Q~6g3LwGE*5^>@i#M14sQc5%pP}eIbpN;vbbToPn6I z@Gp*=PY%ET*V#3cjbE@2-NOxdjB1^MLXzb<Ngxi`BdzTT?uEgp7bm9zr-c;J1iUJ7 zmB~*-Cs)_#<uJ>`PQ>)9Sbx=sOeV}qDnVuGw$7~9<=M@wU&$qICiYZ7ik-XB<-_oD z)z*8Npcrnv0U05dJSwh<(Fh7XRZFo*x=(;!#ondb8lH><XwaG;N4gaG7xmA9DT;b% zLW~$~(6^noxE%&DvqtuWz|j{)4^}S!9!Mq4b}H*+w=~sB=~m=V5D)pxZAg4C!Vw_k zNhnIOTB)$@zK}=|Af-dr7GNaiTExzV^tSGiU|y!Do$QqT9bUjQNHRW!`FP)(7$U35 zwVyQ*d_r%j^jI(6t*t4)sY)0Rd^d_6sm(DQlFN<wa>MdZ>Gioi633t0wY<8xGIi&C zF2k6J)~d&(AO_N_j(T)ond+21rjnxdzFWXJeI1u2!K<F;XQgnr6G+rYHbn}xy*JLN z#?|l%?LT06Il<pj229m8pCKqBveVk{bkY30cZvjdc?L1&;IAa(JrXW<Z$f>P>~6(y zSvB<1Tctyxt=>$S43d#p>^QST92SpGZ6nUJ_rD8x2NjSh9EP_jv?1nY{Z;%TBLTJ; z%=6KUc8G%B*_dpL*2_kS>PTC1WT`LCU^~13IhDkEQT^gG67Yn{)XiFF`g0n%5w}VB zBrMmclyI#K^5!v%8s~kgbFH<@+Y@KYD50$_e0^6!yj>mZR!wQ|yn^VH`SZw#WE~IX z`<xNEy_!ODCotReCj4!7rc#<F13-E_4<#f|hN-x8TaCubBJGK$F9(hp-PXj<DHQ9j ztOh@y`U8>UyzV%v@sDOdh70Iez$&X%$hQEKmXEvy&#Q}28CScJ=LI~0Plia7Zh~!a zTts?zs(pJuL{{j>0{4$dJ++^=;RVo*0p~jUt)+#h@D1IG;t&J`ANN9s09;54YBb@~ z;1cZ&0}k?hKS7Zs&rhfq8L&_qIK@+*4Itp<@uSoG|M6P+{JH9w#eYmwfFng*{Z9oH z5WN1d${;@c(j$1i$U*p=_<P3NGHLV#FNBD-toba2**-v-M3*syw694!AVu0%;p4Ys zkItqjp%B_edfH%(V8NtBm2o|r$C;Xx4CCr4*|xpWU5SpzNQxgczwuAN`}G|a<WR`> zkMa^&|E_#^9akty7@m2m#JR`IrdK0ghA!LQljM8aEbK*FPWL$>T5c_t{0HT4jgh<6 z=a)%0`TvlQZjdTLe(?VnkkoqcF%CsUU9e-y7`!RJ{NITzvrW#A+SZ1I!vCURIQq{- i7|H8kQbgUyLox@;tJBjL?JvSl5E@urOrDD6gZ~B9TQ_(B diff --git a/users_guide/images/raabrowser.png b/users_guide/images/raabrowser.png deleted file mode 100755 index 6f83e6fe6ce018780bca57db1b65cfdb02fae212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9965 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 R?l5eNFfuUJFV}U9{x3hoy37Co diff --git a/users_guide/images/scribble.png b/users_guide/images/scribble.png deleted file mode 100755 index 072f39b058bbae2c12b7543e256a45c1fbee0a45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4747 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 diff --git a/users_guide/images/shutter.png b/users_guide/images/shutter.png deleted file mode 100755 index bb810b044db01a10ffa5a1570fda732df673d4ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14747 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 D=ca-U diff --git a/users_guide/images/splitter.png b/users_guide/images/splitter.png deleted file mode 100755 index 522ee156515658f1da05423f78dfdc2df071386f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11721 zcmeHtc{r5s+qYIBYcnL-x7(6XmIz<WG?^^jl0BkEDajgHD@$W+;Z7*jjgqqS9ZOQy zOd^skB_>k#edoDn(C_#B-uHQq_j%vHp5uKwj*dCzbj@|0=jS}HbNSqN*l9x?EAs(n z1_lOJy^|PY28JB~1H*RrJv$J|Cse&IB49YJZ-Pa>GBB+B`uhgo39hTI`$_$|zRs|Y z{QsYS|AWB)2M8QEH}ncIlgZ_zg*yWSTMh01w)-+{e29?IL(c%q*t&y_U6}9K^6j&9 z5!T#8+tcInbvK6RIgKX~(OwTkgdw<JaC3C=aJ=r!u#ZVt6p=I2<hs{gZn`;My6nO5 zlD$z4k+RXHZUj5pQXvn=YXk<Rd3Gk`FHE$*oVo7c;brGWU^wTpPFv1G-`vstf|DJx z)Qy4srYIT_@1cp!?A)9koi8!G;Tyb*$QU<%@9B1dz%aWWG`zJ;_xiPK1ZNM1xyJZP zM7Eo@%*4^diNKIK)+))su#G_vqiy2-Xf!$8o|?(Et5mOfX?=Y`!u6ESb&iiuGqSoo z57y7M)U*}-CA4eXts^@30vTKyJ92^4c=Tg0j$K0A&;xu7H?&c=c5>_zsD~d2#P{Z= zD)0=T_i3(@w_UEO#P(iTTwUU20oPQ7uY&=p%DYy2dJk)i&pWMp?F1ZjA$b=AsP}GK z-TLct?+M>YYT;c5P5mUGa=w==1H$u3m@q*Ms$`oLJfz}^UG)6X9Dg5}e18cZvia=W zacX9Lyzi~{?us<u^WlQqXLMj-Do0)l){hJ*xcCzI6hwLXUB7wPP`C-`F)o9J#xwRE z0Wr#0-uLX~HXlV<r781I0ICyD6Ot1*uxPGK^DWd+z}#ND{0Vmq6>{$IM7<VoXlWGY z*#23yp|q3f*jMAlIY434@uz<UI)%l09wfMT4D%$Z_Yhk}r|nLxG!eI}^!Ii|<gEm( z?v=n+?O>98nR**w&=X?*YrE{O-6yw$3|xQF5fj>m*>;j)^Q$TR>St((tIj|y$JZu- z?Ij9VL2lazLd?fw{J=XA;bKN9%r1O4FpFPineB9M>p}88V;bo1%1(3OH+aP{&qsTI z0QU@Em%sFzYpR(5RYX2<-R~6i;o0_{P*G6XmIGdQK=1lq_lQ_<7QBJc<}OiKOkSLf zZ#sUQF{*KgSRP9J(aig_SGTI4Z(*^ooZ&d5G@><e`#lDjLF^X5z(h0RpT1@Sw&&mU zR-R1#Ms!xL=3JKmn+zve2VR|;uMhm3>=Y_0#yzkro7Zya*_^;`wXVImgJDx%T;oPZ zpDnkZVi~=7<e;k%g}gF9&3NX@rXc??<xAZ9Oqo=wqZv8v0e5$UgQ~q8rL%s0QU8*& zUo`is=e0(@&T~T<AvX$mqs)nL>Q5_Z{o=|rf9Y+Bj$a#MRW8C5h9iTmqUfU`qSyl& zN-x{~a=XNtRvmRj4O#3>FYP87{KB%<D?r}D`uY<-Nk2K&(GNc{i|Rfq0fp=7Upsi` zOV+lq==k;+lVgg)lwy=X<}dH-F-%m0nbr2Vs+CK{YyA&OyK&mkDHKsr>&Vh5mJ<h` z2D8rSLKB+dNx?%kfAeV0HIoz{DY@P_QPS76Fgip16*V#*U;N{{DrK+Q^jV;5mek~` zzQ=6`SjV3|^s_n){qvb9f0OHKVwRhH2tm`|ZQ8v)R{sids)Ikp@T%|g&mQ8G&dO-@ zr50P4rDckaj4s82T@){YO<tU>%#*`1odV(1hESk|{9cl`>ZtFTtnhx<4w(p2vsXpD z*WX?hJ3)cJBK!K}J+5ew6vu3^Nj1rfCDDqbS12>D0<eqS0sC`4z89WscCM>mU*dVU zd+m+I78Y3mZq?`HHt<#KSupgrT@bhD86U?dG;dEyQ^s#|Yc%aK+w@L}3D}=B^^I3I z`RLXX8A?a9!2(IZN|SMJ(^(~_!GLigiqhs1ITNVYnPLo0_!zCiF9P)sA1aFb;DW(p z7Y}4n9I!W=qx@FCer(aQYu7O_V#?ANT*j$Xb2h-3gQieNxW)XlM$4f}_B>&VB;t8q zG~r@pG*{hOX`&nE@bYn*npaFwH!2J_56`p&w=dgBZU%;R;_&Q_BjUL&8_^k~;_H2Y zMc&bLelrs9%mPo>c*~Hwv5_w}f0idu3)xs+mVDT^N17zH8FV+(Y-D?+)AK^O1um|s zyl$~SA}yH4!uri!y(X%W3Ivi9+!Bq!9P4N9m^rMJqYj^y#kz)<&d9stQB$>5*&-yY z6uY424NOD7F*fltH0`hO>VP&>CVb<E859{}B`GKfM+o7+a;PJKb@Wwbr#;vPx3T6^ zb+BDYsAD6yvE)9b9vl>N0j&EZR%d&GgTQHz)4?X1I$t{ry^ZWB0<hPsJp@sh=X~}! zSL{tKO?BS)mIqF=VG~o$c|b0m5nwEBh$`%}9Uh4lqj<aZO*WQSPjk|?xvz=u?3wiu zX03uwY+*qmiGp?RCG2H2mj(lZfN&0ViVW#SyNcR0Rnwy3neSmYOw6R38ubiKk^1|k z2s&krPk@%$gYjhmv0zWW==C{y7BcfO4npS#9VmiB-8|YJp9D;z-Pc|}Ia0aLo^cq| z*HcrhTt9=c2=3IzD(nJ(hjzxO{6^r?Nf<t>@&{O6x>19!C~oKbpfrB+E`P5sv{&vd zG>axXoH4gK7}1+{8fx_%oUD%mED%7E9Xh;y#yX}H%s~MEA(|g7K*G`{TrY+g%eD!t zg<+u?__WqCB4YFo;Hf)u@;PwVtmgoxg<$!~>13y)Hh}aI8*#xvQw+?7h49-m(rmH~ zZ<)0Qw_7dhgRRQ|(G5T8iZZ;V!jd0EvS(&II2_v9@)-V@*vm-!l`A2KhlMN`L_6W# zLybnnG>!~sBL7RA!hi|X#kGj0VHJb~;-hep79Z&ICmNoN=-LfO8e$jMGJeF}xd?uH zKe$8kjXGPtXd3MIK2R%AJ|nnIlj6b5-6t!{D10N`3?fTvJw0un6K4rlc~7AYZ+W5Y z>+^xh%M*=}<G(toO?_CO<5ptfihf6i3xz0(HBtLOIJY+!$+r8#3T9(=V!9-7&@JE@ z5|c#5n<7NF$RAYTf?3GEcZ%!3wy^llAJPfFfH6M@*v8jYt={iGn3&6FU!Mq!%e@1! zVQ60G>bzK%L3$`lpM_XK8)Ct3I)2Zi?*NW;`4uzd7#u`0Ua_m6=MWEypaMsf)u+3| z0$mNtG?=k{JH3&3Qyld9z;oV8Dcg6;hv(<=q=?2UHEiu^33Q)5hBrRn<pL%N+wr&x z)otI7*F?c2ol4CI{Z!x)!*y<Z9EfeX03^ijrTYdn1xvP@Nzk^5l13A#%+@m8G8F>9 zxoKgM_6nBGdE;58NmvZVNzt8_iNsBzJEtgx(+WPAI_*3%SvR|d#co(uX9QU=c!{ia z?wwLks9g&sPQQyoJVNEC5JjXWN(MbJ!EF7Er8HD>Z(Ky`kA@r|jQ)ocXu@@WN@ry1 zQyx)@%O%y`b1V1vedk9)Co|eD@16|zfa|3vo!o?x^u3ZciLZYjLDB9=OBwu<#|;bT z4U2<<1l3-OH4=D;mvJw^+|>~4!gIOLMt%8-Q<@qr#*mN+6vUx^rE!+o`nJq{esDW% z&61zyG$(KNopSM~Dy1ujCwVcMel3}CgGkiA^+BDX$EL~VCxMpoC_CxS^FBB*&V43U z3Z1b~9W^eD-yKp9nh##M`eqA@lKZ$PG`wl)gcMusGVJ-f@P_RqGxqsney<MH8hETJ zK{IoT<VNUg4`U*>CVe5=bBZLHSb{bL7IM_L`5Qu{YL1rlR+5`zU;9x$S^Z{#F;V<g z4slV;Q7JO4FGH3))N`OGLF<C~l=rl_G_hYEbM!eDd(6BfLo3Rtt{{FeXJZR)e<&!# zYKfY+?u2nP)PjQ}+^<?Qm(I<(5-%HnA{A7)T&-{q1)h3{;i>l))k01Q!+HiMD&}~c zS?fV%T7v7Ub?DS07S!lK?@e9+bP(c)l!GsiTDD%7G=qTiC4mAaFW@{EnFlvnzP=U< z+QlC;VwAImMHrXEdv$TK_FIjb6h)zk7x-pfOdOK_>UE$GrxeXU#sJi7qToeqKuwOH z-z?G;y-T_PMVJgqo_>*{l02H9hBS>gQ-JCU`DlG6P6HV3bd|vGzus?jEMGxPLpfmN z82p2^FP_MCC0x<t)WyY0JM3clcfZd!JbYs@7J;oyMJR%9uc(~YU~kgVUuhAxb;~!< z16FIxi$PMy(n(yA?=Mp=*t>^T`_SVL3=HHVe!BAR_J+$oMgwM(?ibfa8=|F9@g7{* zuzEt($k>vyPlJ<@^_}1WKD|U>^4C41haFT**YW6%=G8>L-cR}UMKaDGp60z8^OFxa zkpd`|UDYc5gN4W!@~6t_G@vEyO=v~rtl=USG_B%4np+>nHI4RP4Oo?=rjAp&1s$UA zM*bA0^on-D`s!DGj;wl&qnGk+vw-m|H)CS~X-Y?bfHy0wpRxx|k5T<yd>C*3)po=u z+p94vJhuJS%;BPOlg`q>iK6CUq6EPd(u2}S1(hyWQ3T7Ep2NS+9WjnhYg`&`iE4Lw zqyKby5~nfd^WkZ*ey-d|V{VB0Wt;Un)^5j~$z&1G@-DK&S;&i>nh8IW>oEpB65HK& zuT@wOx%?%Raf7*Gioa!oT<$j86xro-WDt<B3MUni1qfwL)f0u1;RXKEPfTmhvAhtS z)-_)1m)*jGFGWt2`ztTSj>wo-f9?J+NBEp*n2p1J#TAm}3^<2LOt}N3);KZ0Hz)OL zke`4j)IGrq_X#+efUgUR)%W_$+U(ng&-Zb|$MsNQ2PRZ`74}9S_SMpD2~W+_P_*Mk z_Q?^zCFXY}_S%#ba}DGtFE&r|g79@hAuH~1OuDiYmq?O_XO3AyOZvI5Q8`#CL4tqb zF`?poGcl`c-oClO!LU}fiwkH4-_EEMY-0D9lbvO8qLiaN3K6|KEt>EVjCtZdU8;81 zE;p#7GhE+I$k=O;_$$H{{S$jDW${OrG!-jnH7<VFh8n^4g$akw-<m~Fw7|zA8sTpK zkdpQ<Pt`3f0;b%tUAaJGZu8TtpxD^HpAiLy{QVQ>!5emcrkVkmu-Equz`?`E_GPpa zyNPzh%dNGfs;X?38Ci-`<<-(*aVxk{kXNw#a&^m*{=24LB#a|kBnfiA`1)H__Nru0 zVhXlYm7?Z56$97{<HM26(pYL!-SL8j%*Fk(=Rpqkd95~|oB+6tLAD;~s_x)+7N+dL zK39h4!jQ%93-9J0>cN|LdD;rdkZM*_?{F3y(E{r%G!<gSBvU@d0@oOLky)E<-3%Zf zB!e81ro64n4&Eg*UmF5QrM<M9JgqZt*B+W1mFX`+%T$5`Z+2jQSwoqhYuG=Gr+B{` z+`>XO@Wx!UfA+=+#mH!CUUEOLVEDB+Csxb?DpIyiejVM|u_fdh@P<6g$~$udUjpUs z6^J;R5#+*I)R(_dn?8+zEr*FIF?yv=IWX!fOga1#_nfGO#6U(UkfD1;Pne6%K2|gn zNUaV63RiOmavq>aiWQ3^PqN900u*lXm$shprCneqfSwe>w*ptgfLJ+-&&fmL7i~)` zB*#~ZjInkB{>pL~DRC_HUiXTWF!dBnPOi<swq?;W<<ChN#r`}aMBg@aK510rDb|E0 zE@OaC_T95IerHaeSv?C)ekmfxicWv#b`DwWtA7?qzV#<x+yabM)8kQ!zQ0~N>#2kG zSLAw_r|+iTW&scAlOAdKO5n%tS>oTVoKrULHiL$){;E2JSri(K6M6QGhwZs|$liLe zpB#BcEep8BLKY~tzFHNISb*>8|K@V>_3x@|#zP%R6JpG9BCOJQB%T-za#AORkgq&6 z7cK!zEM$&>Ad_U29@YYMN3NRRy`(si=_O!38D+6dvWfwWEOM0kw4ttmj=Ij@I?yXH zw_mszx~KO&5}F}eZuvtI=Q53r@c`Qgr2imyIfn=JT?aB2P?O@4p7I8rk4wdpj5#qe zRl>#T_wt>^4M^#5c-;NpTX8YNxQW_J<Hq0dFR}T*(=b}kYy<14*u+t<LtYhPcIiUm z7uV$Yq#QX%rAbjM_7u5jo(%7khor<V8DCTa-DophyqS0F?HGNITI3cPuadYrpcgEq zb$74tf>rl&8f006uLGQ`%w{@wGYy}K&n>^JxKUbfU>7TbfG-<0wHrM^eptXI?kj9I zGqF$^$dTdp&de&y6w0mCs&q1i!dXhW+0TGkZakpQ)w<(pq}bAXSJx&YpY9i>4K)!< zz#>bjJ?N0k(?M?mU&`R8baDo&iN=c;aFFcF6BRmRIyqg{<gR%g+Ei4OfQ)WcPN?%+ zSe%I>)5oQ@WR2sIFYZ@%9HM_U$p&0@(^@xL3r*iSbMy0elut-SY1PC=^SP)>={@vx zgx)n~`W*}jv8t!9PBMWGu#jzjF1xV#V`vAr<pO9P=VT{N81fq-#$tm=Q{72bijp9- zk0av;P1ge^P!bFIsh+)^Ph6ko=CVkV;>$1HIY3``RrcG+MV7Ps$d}&YXdCW73suYl z%Pi!Xvlq+)SCP(hCSMfKeZn8o0AWd4fp)==RTXUrrVS~1Ie-NVxqaD*Xgs<JOTlJW zf@SXr*}{T0f>}~WnCN3sIBoRmrq52G7j5J+{EK!hGQ`qH2-=iIN9y$EXB+>leP25h zy#c1wgKN$T1RnZE161Uqs?p(UNr&6Y``ewEPx;l;JMO3@bVh4cc7`hB_~0J;>J3~9 zd_-VBE=)s)HuibpW~~k4RHCm4A+-*Ytf)r4T2@VOyqIZDs?LO+h*JkBL`}QN38%j` z;I{QnPH~nrO-c&TvX2|#JgA#6G$8jdgFeogNBRsL?y(Hhx%B!sZM;Jwqx!-_XbTHu z)H_G-T0JkZ7rG4Zq#gao=06~8%~M~&!`#lvw`kKC5(TuD_QpmSX+|N*-~xRk18K_3 zr+J6DZ_`)Vg38>^b`%Esc%Y5Fnf)|R=+8F`BN7JMMz=PS<mOkK%>(QIyC59;mqF#S z4X7H$MIS6KD|Cd1Se4V4|85d+*!0Pt+2*_kX=B(yI0(A4%4qGl+BSMS{*Q3}vCZiZ ze?d3upF{hmf%e0VC|M;HSeMkMnD5-O<HNJO)1V05V1zmKGZuqu=&DGYKvWrLVf<eD zr9viJ`lseUbg3XsoxT6@y9QZTKk$MHN?i>tZt}F&*Euv{t*)d$o<Eti{Tc0&qU)yS z%fvU?6J*@Y*kJ!?oXaN9f<z=j+sNT6esdjo^^;LIw0FN*PeGa)nDx4}&lOc3q;x+z zZRIPH)948)OvbtEHo%6o(zIj#MRXw5cOhg^`j*>PTmbvzuno!bv7bYGucxfDH0)^^ z6;xC#=r)B0(obR%U8L})Ut+Dnf^SR4Cp(vvrO0mBW3T$#S&R@&MzRlw><^3G_GzSf zLKeS&UA>F5T!`ZPQ>L#XH#m4Qd~9%al$h}&VGf)S>t};^9$TDOEss{L82;sJ%hV#* zo}e%&9!iubuI%UDyTDCYICB>2Q{KD&ql1UAz{O1tLrP6#Zr{7~_&t~|zhOP7h-ZL) z9t*i?LKc|{?@7RoYg*5=z><Db?3fV#VbjX#zb!om>!|=$;bBex=PdXQuOYS}ZCG^L zqH+nLf{{CK6nZf=_6})Eik|1Ww7L4dwy;1@-2om%G;*yyq;5@g%M0Q%^-^{SuDPZ< zQ1K)0XWq0ZGJ1*Slo0MRg32dClvm7GoN!S3yqdrrHJ%Jlq--EDk$;%G4~x>{A^4A6 zXbCmyeGv*ALY#5H)^)h{Xgre<yf=<92;&vn5NuaguI58-361W(>R0G0D6QXXc&4b% z(ekY_(pwg5&dbC4-W-I>f3?^x{A!wDclYp`9iJ>)cA2x`QZWrnkrG~#7WPTBL)yzL z{>r|HvxG^QNN4L?s;F2!RH8snHV`(hwCXERr!4Dx&D<0|%ElXj{g7J{A}P8?YaFkE z5*MJa%CDAfS}Mn=(K$`$NB(fXBx5Z^2@o8a5TZD#IFw3?%79Pjl=F@Wc`n%SMPshb z=NcX)(!1amTt3nyDUKxtPd*gVeWqfBAd>XWsXR5Ce{z-7s!B5^8;J0!E#b&OMKz}8 zSD+F!DLd&^wV!0QG0@UbWu%Mftuo1Y+O5L&?zIw+x`A7vZC@uwD;p;GE+AcWGKow2 z$cdK;p>CIu_E0wP@5A^}*4~wedn*;BX@6~%wZ|qPeRgm6qrB;o#qqqc%#Mf5tiO?= zH=y)5)$Q>{xCk7^Pe#1Iy@qMH6=HQsh*a~*V9jTn@EA#!Z8=;N#IyQ(w{OKoZb|L! z#XXpq+E=orkpQpLp&olP*}+M;ajrbR+@{|W>PIpGrG|=ac;qS-g=skNo}_UO3EJn_ zKp3)dWufH{?$xl^w@pWVF}&K4<%}eA2k!YExDD0<6+11MBP2zMTv>*sqU!T)ET9CU z+kjpSt+u1hONtrc#@CJG>Zzy(G+Fu%urv@FC-OujnrEOcPQ)Ub))zJE#h5_2J3y?8 z)KrQ;!u};sdV`9R*l(U~!~Wq?<;QKH{!gdbkW<ZivbIjOEU9fWN3s{9g0!_O%kE7T z2h-p6dsXZs8i%i8q%<CC_}Xw9ML1hKY+=DwJ0cb(VUh{doAvY;uq&{0Wi09OJt*o~ zQ2HQ4S$6fF76P45Olwj`ChI?K@X0N&qo;JBunnr1IEM~t^22P>+Z#n0NqJ?R5rLje ztly@CgsZPdAQ`OX1#q_ak&N@XrDGU+YbDm6*13_^GJ$^$ng2}`UGb|uG*>IK(ae33 zaaITs-%Y>UN}3P-^~%dO665p5S@8T$y1clepPO2%u+h``W8Wh6%5}d;Qrl~Uj@z-3 zMM?II@Ga%fJX=`M+CthnO91D;q}hLD-q|f>|7+_1u_*m-vmPHUw(A>)Oc!=h8}`tz z$&~<q6cS9RyGWM2M!VCSs(WI!A*K!0mzIFq>%O8JKc$lHY^h1JgQokRL;n5c+py)2 z;>fM~53Gyap&z@2#nJz??5IAh*xaPB>&u20yKP*<HIed3Qv_jdHiSd}B_Go=#s9Ig z|D+)8=p9j;c#WdT2~|j|K`WTuDZcwb`^}gs>=NBnkLKgu5t}&LVZ%C0Lq*Yqjj&Ow zl$J-HNRSTbFUf6TLF4ECMu%)!cg4T<P#Lg~uIY1otR1a`p^<X`K<xKfl<G$1$rq?) zqdO0S&EJq@n4!2G?%$#7*DAxzQi$L1IWIaS#3E#4>R6!-EAvg}9|hr$8)iur!cMY{ zt-0I4roZSRQi>iZwoJ&d<s3j^y817r{+R#!+B-Bwn&Q(+9lz$ijx$^5z;p@q#<B=M zc=r;a_}hHu%|mVQkFyTm0r;$!uFXi|YwWPRUKJb!L1f`xTb<CONKR`*o&g@^AcQ}O z?ze*WNaLl51=Zm>t(jX`e2KZY7XHf!njtBEs}fj4o-`W9cSH{vLh|B2Kvkr*vv@Em zNoi}0Emi&f*|}r5YRLT{!cQppCeW;-IOtF{Ns+*5&U$#~SEW`{|GWonUt<=v-#!kE ztj@MY2q+q2m2l1SiN1yXcFl0`C%TkYxMWCsM@MtrbI+|@Q$rD4u<HkKR+Vg=29*6s zXKyO3!a?wHiWWegGQ~DV-Mehu<O)?<>6bQYU>Z7S)fS$qkMwAHcN@OrwStSXk(OV& zrV_ZByy*JFYx2f>^-*k?S4FqSpeS2TCYsymj=^zK><1mxVhQj-DvJi6{nUhl5n4R% z;>o@(Ec8X+e@gEA%g>zs%L#(a@7t$l3XnRiYFVNba2H@aZU8wNnD$igS_TxIIV$*f zWI31JT-hW60oetc-JvQITWnQ-+z=He+Y&S2{ln?EMq}tTs^m*dj3HL91a7~|6;f<< z*W(a=anI+6=V)x!8R#aa0EoQXj)_AYy*&AjLxMx_V<CV(k@?Lj%IDgMPeVNLrQD|P zB*e^TqYDv(WUdI~xhld%2&1DP>a^wxV+QgcXx@)nnEXYk{#5n&{c9kE&-pai7Jj*7 zI0Pv7<`8!emiCESyX1dytv^(fJv&SSZ3<ZkBAV1A4Ad-V)<T0IN5<^Oq|3&0)(dSG zf4E;{zBor`w2Xd4oHmF&<cERY^T|#A-HbsV{o9+DoFxj<3Au_7wyn{?F+MpZ?AtIB zjn$eblroB1jb2-Ox9~9@C=N}*?Y-L`YRfqcjtp5q;i4vmlH*}q&rw=MW$t=VyYAKM zTq4OH*8#WL<4}$g_#<+r(73H^(kK6$Wk9WNGfsH6)D(O@P?@TgU|e+up|)oH_8TXk zLJw^4yTiv#QDMtpcIh@>686;N78hVmDV^j$q<!q6Y@^WIU>4B$L}pe0lVIgnok40` zgtgd<-~m<y2>vjxP1;ruirX=%FP?(XA?ci11I>or6HX34tb@1W;tx+3b|TkUhfR5< zig^2SYZ%a{M0>vE4zm3P@!DVzmL#^@rTEFuw0r5SWDWuuUh(H|e-b<y;B6%3Al?xy z2}a>EpO%OF!_5a1jd~|mo+!1X>w@1Tr_?fmmIm>`XGN)UHQ2Mf2xHa1=WN1(&;7a6 z`O`j12Q2p)NWTDbJ5FOnj_456?bId_v&6=XMxst*)paX~B6@t9S#fGb5=kcQxSJLI zQSUrzZ(_QtQjtgP{dj1|stbkK?FNSC)~DHg8tb^CvKN#%PE`EjZ!z{3d0?1vp_x%Q zjPLdG$rUpal4ofYvpGMG_jSZPH6xlREaiD?3kw*DDaYX7SpXOpA=vHn@YfRzXi0-J zqiL4;h<^9yQ5Rvn)Ft?288H0!LoQ=h2lhZ_Ov~X1^(kj`vflbYMo8~Ns!xg2xuT6- zL=i<??=Dw$x?eeoM!3AH5Fk<lTbG+4O_}3xegb&Xt_H1E3t*%K67YPp-JP?sc-TY$ z0fbf@5n{3RVb{0EzbCck=m(J2cTaCl0Fq#j0qLOB8ebz~5GAKX$#9C4I@QlXRTjWZ zs!O@0kI{mD5lyzqttB_|e0v)L#2%CXd=9%PK79Q&79wW5BXc|(y%8UEh)4RtkUr!W zB>Tr&TUZ!p$T(McxM{pEW}|iCxr9=x$O{MM;>z1b2BcR@DxG@wdg$Xc$J4^DLhIqZ z?C?c4{edvW;=V537xM`kkPLo+76gyZ<x;PzDweM8<$<B8k9skjj7amKw;h~$Um=M# z2Jtsv0V*jd-uw<6lk26F0ZT?95-LjLS*S^00U)Y=hNM8<iO_HPKilp}Tc>FFdDI?y zdP-sfX)<xnhogKx-*KEv?MDdBXbs7bw(X$i24kj!Qm2<vuC40Mv02-Kw|XMXW{nfx ztm91J$VRmy(mNFO+f21vSa2HrKX3QndW*)f@ylCS{4+-Xt&RG>G-MgqSht0R#D5Sw z|2Zx*(iF3^IzjU*=ig26>HZ;S0^}|(L?Ro~xEY~8ue1>D@f+jHPB>xneXZMn$eI6i z8E4qkFN2#q$GMk&We*XK98?IKVwYW5&InAQy`Pl^Fu3geUtckk4{P-<-G9qy?GSb` z;Uxoq5d96bH^;hzaHv~5LSu45fay3RefiHQfd*B(+juwwdCReg{!XJ5#rp^&_&rR2 z-!SK{^U;^LA$;MuM&6|IiYD>U1n?~dsrsz`P~Up*7x^9$=Hp?VaTO%EYH#sQ@Vjf{ z@h&trbR2o7v0<p8FSA1@#w%v=-Q0G+J0X%klNaT`F)Qs#scMaj5S>1`Jz989?0OE5 zy3NGF_7wRJmh%mvlEm$K=ldGm+J-;<+`nTe=#Y{55%zoA|H;5g*l)>Co?-RVO4b|$ b`TKg@psk<m=TRj0Gcf334KX=7=kNR*?C`A3 diff --git a/users_guide/images/tabbook.png b/users_guide/images/tabbook.png deleted file mode 100755 index 99dd2e31f64ba6ab7b5f162ad6934e26e88309a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2891 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 CCY-ha diff --git a/users_guide/images/table.png b/users_guide/images/table.png deleted file mode 100755 index 11705e0ccab7dee694cfa71dcfdd0e47d6c5b86b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10596 zcmeHtc{r5++cu>rWhvanP-u~IC;JdWcSOYqsb(xm_HAY?$&z(sG9rq6C4(A-7TXMw z>>`asDcg*lY>_PGy@&7g{r#TjIiBPF{res-2adV!&)mm2ug`T|=XrkaTPEl9w{I2Q z%E7_0{j|YJQx1-e5C;cmA<srQ(!>+60}gPQoH2ug@Ym{%z#HMA;dRw@!(^Ue=J3Mz z)dlz)zVLlvbrt^m|G)k}0{?F!Aiu@V0{+jocp6;9ad7a}uzolb5A%t^L2mr%vk-UN zMm~ONuE^R+skIPfiP!PQJ9=O_vh$k_;LtWa96D)_v%@-h;+;I)Id*Q5l!oJ5S#doN z&+Awx2S+@|Q~qXkILfyc#oF7lmhQznx!H3lFYs@HuWVsmIqz`|?`w;-=fHTbvX=9% z-P{Rh=V}Wt#d4IqE{ui4Jgo2qTdcd2y938-u^|E+<6eKiH`dOcV}3PkoV`rX!_Cd! z9nbNj`CcU)+ss;K=7e{(=b%is9fX?#$LW(gW`2KtOC?^(DCZ0JF8-|jdEi&?LZ*!v zlULGqpHR}M3edLwmn{E_?av2vQSAqAp?_z{IEVdSp*eaSJl}qS2$CszTfwDtnK4B= zBvfRM7la07A8*eLuv)G83dN#dsBVY8rLRWMoLemaed`Uhnu6brR{D+Z((zL>LVvhB zoYBF*(j4UXBS>iQ+;-q}y94N~@py_nMjyW~a$Fzv<I*s>x1Q-XNS=6QQRe6;QW-3| z>QoT|k^^!F$<zB<p~}soPtB+@t5Y~2M*O)^IZ=#Z++2CIw%c?0gI{GD1B&j#9LC^x z<33ylmrhqdoB@rrB8W8K#pRZsr~_og_o=}^HWp5KMBOKo-Do9W)Wh3tFCzonf}4Af z{wDlPlW8K(VNr<}XYW-`kS8!hQww)r9fPjN^^{UZ$&tdJGBPSKs~AS+*Lb4H(1_K- zh^e;g*n45n`5o9SzMz<fc@!g~?@S%Z`wndf+yuLI0@I4E%JwR{En~pzFUXVvdT{Wy z_}S~fc9x4Kl854foZwIx+izr|jC1bKTVBy!AT5eq9L>UeEjA(*-6i`cl!I2X@;x|e z*kL$h_-bxt{#@pKSlf+a#`dF&QzpMw9;iN&`O6s)UdX!ogF)N;1&<on@3~(6Zt4Ut zYUqVmTusXF*z$$Q?z5f^N^C3+;sxysNW@5q)I!l9JpI%2yQAD$9`{BgCJyeesCD%{ z+$;a;Ir?#L;rGo#Sx<*b9bG$Kx__ASFHIH=4v=xu`xX2mu4C@*s9YP-rB}Xds4XC4 zQOqQvSOgoF@SW$w_*vlWm+{rRT}x`-boZ71B4LkR!34FP@jXA<{5D3LcEl4OtoA1o zA0$gJ`;JmaQdOIS2*=~HTHueB4S@a{fVV&XEf~KEnD3DfF0+cw-*N)w_)4=(pcSYs zn+tnxUxGuGrY?*yG_ri-65*Q{)lKOBVtv-w0t|<eak1yvE?LaJZ^#J7ywW}EEZ0Ni z#UH*w^g6MirQSnZ4{LA5?`LCSrLT{=3<0Qi3-%^=6ULnUuOV|heNQx5%Vd(gDighQ zf=Yyco52O~Kdt@e?e<{T@;-SeFy(hHW}guBD&6QURP1zzTya?(7`67U3H02fzWl7W zG3_C-u=_3i$`F3F1yd7<aNC0yT&N0k?dHbJMOqn$xPGoz`#$S${HW60YJ%LAFTj83 z;g*0s+ok5TE_ogEiK`jL({p{b%ZVVKe%VlCi~c2=V{O^xQUk_WX6Nhrj7u0y6{Jk> zM+<2jv7VG_%&k6`bwT%#)=lE&lNaOISiJdi)+73>euYM|yKY?at+Q{T-S;08_gU1U zJn3d-2PYcZpqbm_C1oQD*Bx_ELcEb~xHtom%+a%P%MHHwqmx<|_KW5fJWYM91m;A| zp_Pg_-ht&$@JcNy{uVn$;)qu(Hco3@D?7~FbB-D9;fs<oZH6-LKO_@-?z9J2FUmDQ zqZXpeVKmA~Q*Tt9Q{vEwq11?0m)uRo?kUQm>R-cIZp>S6wC}pzTuz$G?<Z&9C(FyG zbyj}#5ex`WeN`zGe3<4~WQy#3di4H6aZqK|OI~13E2q0fBireTGib;R`j|XfC^n&W zg}3yo+-pxC+aJ^@4{y3rRYvg#EztjJO_x6#i)DeZzyS@7wj$nKt=%(4a?+Hfy49}0 zZR$6PM^-IVG?GUjfefv8W&9bb({}~G)`u+gJNoGS3LE>%y^#JAjz0CI6ZU8a>$6_J z;7>_?>Lm!Fj4pl5Q2aTvWNv*wrJ|w#b~RT`%f$=4mPATiHNcGtk1UE3MFx1ihaA^K z^%v3mJb}|Uc$J(@-R|_Br6F1aDY)AyX2{4}av6RyWsa_vWn~6j-^kCim5VttR3a(2 z$tNybhuN)I4F2r)QS2)ft=0PoJ-7WfNv<9si*-SAe1*hIh$W=(6#0SlaqZKfE^Xxc z)jQ!n+X>N5y!)J6RSsNlkIa~Mef*w{#iPuIL%2S4`=9_iHoso-^+TuFFt95e-y(+o zEg)31_(~|H5b2p$P#=Ov5jK8S{N~k=T?aLR52|D#xn6Q}de;(T<5}P$b|jWKBIVis zCS%GYkg2n>jC9A-H)oC?alWQW`^4Wl@N8sD_cs5>2Q+D7n7L!|zbD>&RsP^8a$}nZ zZm<5JI7zGnTK4+O6^-vN;vFzys=Y1Z#S0?m)JCL~o<i*n{lqX(xBAk_7(|5{g4)oR zF)s2<1SL&4%BKysE!X(B*^*E3StEkbCsFP3<xk5zJ39x{k7CuB@|<3ZWj35Hg38#R zj7P-xf4_^yvwbZTR?#}h#)6@Ci+J^^;>K|Q3cDhwo10DzQ)7ojFeEP`SdU9lsh2<O zBE*jYB5qDhk}W@PH4v#Vvbfs5FW|yuJhINioYXtCAm3Li#!AYuy=7%18+=hUxevo` z2(*NiDsZ#X<99AkZ5qr$zES)o(cO=pJA;gWKPkz5+Mn-M*UOmG5>L{Z@@}Z1*Hp?| z$x;bStlmw{4-)mGXf83JaYd&ik%Q*=d+(HC-zDp`jh##W2m`=d?GC(zkaU}PN`xQW z@d=UIJeB3QNmMymJBB|IIh|K9AP|vJbq=w_B!7DL!xu%F*`k*ds#>)n!-DImrs>el zl8R`(y0D)MxZ|2}Ln3S}j-ZvKzD-F{A7PZn^=0NqnrzPg@;u8IU`!eEdyS)OA+F)@ zz5uu+{0@qLcj{~6HJ~ndhp|Z}{m749Jwqo*O&SRPr^Fx3XS;yfoz`V#GLw2cRicJh zj2pb-U4RiOtPJ)~CHzwyYS_3c8t*@u?W%bC#z_2t^T2d%e?24w$u+)(FB=tEK1JG9 z%}n_kuSN!6S|Hpaq$%Gl&0#K4l08S%M;3<UXVx?Qvj69T$Jf-ZU$zV#Al+7ue63ms z$ZLlyk4fV_A(L%b&2+hKgb|gnPAQYV8tcB2H~eMO*Nj}oF_WIu2W%{wo8UrI-7DSo z8;l+YIU4ir-F^z3vT2`f!@ZQVRw<iaiCI1U9K)qi_C89#?^zVV`NS2}>uwA_q)dik z-dd#@HQVPfO!o4i^rR%T3S)DMiEpecgC6&0X#7Qdc*wyb>VlH2X;ZmC!I?xvWfRnT zduQ<YH2QZ8_jGV+bV90M6vtsxABL9-&|e3g|Mh;(tU!I%Y@@K1`Ok>Gn(DU};_Gy) z&Z%0)<^%kRV-3*pnyYBMw*n{{z~zHNB`oChlgTn30Y8;r^2R^pSBZDkaP>*w!(UEp z^4s-sm+xI7AA>wY?`*~!`D>kNJKd#)s5z$Cji;-=qZeuLjS64Q3g5=Y!lwN(Nl&oi zC@yXQjGv}GdI!uiLZ;|NOfNE0y>F2$fB()qV@fj^&Qbe)r<0O~PfcaE{=vmXazn^* z>-HFKtWWyRSX}DS=w*`#aqlD-z;l>LgELrvIv?|hs5M~nYU{|K>@gn^Euz3sxa?a( z!!&90GoAxdVcx(I8#s|~(#Ic(Is5eQC+HksDK&6;9&v_n>%n$z?cL8!N$f6Q^W2PB z`#_PkeH^y$%^xe(Vr`}Mt-xv*ctOz)DOSi!6sQ`b9Wc+L3OnEK%%aW|QFBd4OKI8| zKAT@;iM7&?{m||mAti8p6B~;%gE7jl9-WK>Q2Ui{D&{1O{LPqHX;;)Rs|S?jk6%Y; z#u3Llo=lNX=mL3tQNp^$45_O5k%tD%e)W$<7bpgY`sIPQv*!{Kw%{0!V?6zb8kc3< zi|VyDTwMn-vh)df6zTCLaU^v1d5-7ZjTiZgTGl$TwK#Q1;I3C30BrH}k=&Fk<DO?~ zS1#i&E+LDPX&=fb;^Cb=Rc&i(_w^PrD8d^xB2S^oAjTAcnAiklUtR%&=W<0F)3%>1 z|GBh`2u`E%t+9cZG->)D!*-SAU}fgQWl7u>4m4f@9g%t$&E-RXI`v4Q%w$fyjor2V zB+eSKv4A@`_gV*^2%txFf_L;{m`a`CdkAjj|Gnul{>kHd(+<CEm7ZI@*4$T0qsWx~ z*Dv~3UC9<9Dm#$g*xosKW?(&i74zZ|c2ga(J6Pk?F;Kt%Q`vmRNmgZF>P4yjaQ`Kf zS`Afi6K{vAHST@cY>Ac@`+;(!*&hDdi3rVI{xHZh@8s(=+qT3tGdK2j`}R=_PBFcK z*O2X=6NMrZQ{pe?l}l`LZz`+hmx|&wNhS_{05AyLD_B{)ubppYH03V>92y|^SlE-8 zWg{(VPl%_0EzhK~wm|}XkCq15SU^QmSv5;{XQ-KVQCL*kMoa#pddcPak;nY1nXxJj zc0S8d1vRY#w`%qXIpxb_^kkILJn4hGKE_qQQsI6f;hbWp4@7v;UAIRy=_$O@$~!Oh znMploD!zM?JZBJn!R&A~fuK+EtV|<HB+J#^R?M4{j$M2?_i{(@`yP1m-~}o35&FGT z<mY!wDv6g$+yKp{dg{A=a>m?<uA<rCiFfo@W677O2QHk^jV;08mn6ioK9Zi<@4#@8 z3#2CIF?8ZazY0pd*O%3RxU0T$z~D>XSf#ROM&PVMnZQE&R*mRRu)NB4B-PaAK=}pZ z=rm^6CR)S6`ptmr$HRmgv%L=4O>8U*4OultX5}qKa3zX0!wV}iJSV!BP*`>`vvarT zML)=Us64xxy<(OL%O&gCg{fZR%ET`hr9u1dO~kBANB9B<-ZT7YBlPk<d|Y*_=n3>k zufX<(^cqR+#cpRlc(yNh^sXw#>D^-LGk#rGQNW^(nV$mOb|MqhA{At-!%CL$DxmC> zCZ94AAJ6{H%5~!(hBp+nU~oM7lg9TqT2@l(k0})`VDMW&|AV`oI=#g=&RWmgPmul2 zs@|Ef64JhH%T-+AA92&N>}(>Fl&jOp<l(;IO<KNzz;4MNsoi=ot9_i-qX#wRw`@vh zW04%;bJ>@Z*zt9<dtggm6G9ZsDLzz6p~AIO>5joK#1n0V582Cxs%f!W!}r6}_BjJQ zIQ9lw;{!dD$-jT44od8~wSrlpQ(e)8!QciG@$rL>(QH%itGD!P%8kNZ0t5N3YPPFz zw?X2hk{geMS5Jvy9usmit?gDO_XFv5P>juB!QRW(0sCqXHzB6CE(jC)VmE(59vF{0 z3UrId5c&GaGjRnS3!H@8qm8@ur{8_QaHI9)DNx-XY#XC%zUa8Gs%OqOfWX8u(^H6A zgMR+Q4)Q-+FCS1h0(BoA-KzH)AEayVBUxCgc3wz-u+Ppf1>RB(hq^Dbv7pq?yrvnX zG9%7mD`0LQ?9+azbulfqdQ6>`iW9_~B;6mw$j&~f<_f3s9L73&;*SbnZ>d6uM+WAK z2OfX}g$47MYx`w@-A`e5SElZqMnqVWdiIM{pbKSzz~Y2AmuGhr<w<eh%kaGgb<IXs z8^a<zb>FDP<0p$EdoC%13YP0FrU(a<OBPv2q;6Vgn$^zx<@Vt4Y#K7eW}r+2)iEi( zx?|U>Io0iE?Iwp$`bDFWdB?2aZ4-oow@q4cy<l-tjovHu7k-V9C9vIZKipJ)emeM3 z(M<RmSTB6RsG$Cs*&fxt(#Nh+E^I7BYpZjl1}B+PmU6HDditDGtY}OizmFWPR|R>? zzA2-e$!4a?>OU38`9@C1^+^K#vZjU>JLYrD;!I!AVoEOV*H0oYAzst+HTmG_;*Z!c zk^DpL3}#?2u*KC!XJ{e%V;qjzoV)cfZtpm)7<mUA^X$t#-if$!42<6XRtGforf;)2 z<h&?i&-bwd*yBiRh_AkaR#JKT3m1oe56b=*wkX}~6R2I^@&=NQ4?|~;OXW#mB$OLf zDC;vrObht-#&(RHF-UGk8ouQHE}|N9?RovQ3OClQr@zz|Q@DrFSlVzFr1hcabdL`Q z>ykDhpV8S^;Lv3!fH=LoVV!gqUt^7jX0~D?WT3A;n+#=V$ryZdB<~sJ@3Ao;6-~ZZ z=)AU~)>JM{j_~~+ONIUE4seoN{qcDE(wZK_{h9pn=zXP2kj{?r!K*2oEp70b=W9;f z*X#2RcK(;qk83}w+tJ2*b>W420FQL(o4}V*Az;1uT0W1&xV`pLjjl&Jk6tY0Nh5Ye zXcuCHirb*WYF8pmI=lnL3{3@VrqStA_Oe&*h+Hw23^UK1z;cY!{%zd1LuJEKo+2t| zhuBzPI{VK>zbOAX){wm?-_pFaG34oZ*U$+Xr8=Zw7LDVnhtd?XzPwN<caE7^5q1!s z>>U>97G>T;Ab`MaMJdEO{odZCb!xv2gP%iZwr8Y3a{Ots+!Y7SaL4huxZU+ste_uS z$rC1PvM+fhPt2^G6m7W@+waCVKq;?=OVm-DbUud2&@!{tpZRNb3-TQH+Xl=@K8Vjs zpYXS$m0x4ltW1&qoxW3fO3HOF5N@$#@6SdSeRuj;+F-NZ!#n<xWQjKy4lnci`E?;T zPNzfT8ULg_i)!f1#sb#R^{26@QdYkvTic;CLC@Iye{a}pG@Tk0_mgr=qF{7$JmziN zwB+sAl$Nc=gRnwdAL;4NC7ksiWh8RIXwJ`?z*@pC<r()vwudo=q0$yS%3kzzEM0N1 zIeKsODabGx&`HRSmu`jv`D`@XB?v4guEzBV*1<_M#|5+!dKYIt3E}UV^D$0OA6=B= z8TN;x>1C*68zn86QUKLaen$t?dBk!NceUO0S@eZ<1}3mVw>ioeCd#~UlsX~<itY&v z9v9<h^tO5_;^~uA9(B;Lq)U^Q%`^!&F5$wOv$06r*t;_a={}7v<gcd=jocX~GE7t+ zrkNyTcsQen5B}k2e^m8Y0O~72c0%UicWudaqTP_*P&Gcn7Q=r!Ts3N~EpAvR#r+2X zH*1UjEWVvA?L2)KcE&EX<#?@0v^5Q;$5PxK9E=>&dfI|IGBSuA`Yer}^has`xp^4% zZ_UlH`6K23(`6*)FuA{ar)?q|3-!)tlN%!SBgNu|d`#M}mI@wH<!8xpIU0h=n}et} zUpX~nf<r|XJAg|?t%aKfxLj?bdk1~awAc03OkF>+seK7vSt46Mb(nu6sSI^I0j;F> zMH`UBC_zuvqgH!3VgvI!2&^eQOxEI7e=<g+)C)cw9U_mAG4+rdpc%W(^ig*;r?gwI zXpzHsyt;Gsa}(2n1f&4yUnLnO(XBu@;s5w8;xVXh0LD*fL2?>Ay6A-NCzR7Op(@<u zc{!X7y09T+G#SK2)s~JpQYoiWyrs=B36=S4?urG=U2!B4-z5@fJH0VVT1&q>R3&OE zVe&pg&bX8DteB0(u+&Ql%ml#&YdIG#v03x{U5Rey87dF1!cm0?tFoI80JbudrOJrv zkw?93P7M+f{0YP#Lu!qS<TK?yAqYc6eWgzbC`C}=F38aP+im$zQ^fbbCLA#+6&9Vq z9<AC`o(q02*vy~R!bJ+*(N|64+Q?CPkg^qP+nu-jdc~)Ty(OR2sbLD&R2+*8tXpab zZQyiy1l2(N_RcCc7B9XyYsfgqcMqiu`rd`@n>}L)<^gk(two27gfrOm{zo&UkS~8k z4Ty<xEzc{lBdct7D3`N4^r)kAa95={GN`0`n_51+cd+zrG1QT;Qu~sRFjrCo=8<za z*)~X%G`%uS<ryUpAJf@d=%QwJ=8Nj7Z=Y$Iq%KdP1R<n7UpUdqlZUKd(kyxB;iv*3 zo5&YWyy~N^T)NUfL}{5k$ZWQHKXjt7!k+IoQ3NTk`N5tK2@l2^XwfH+GWaDCX$BLt zN25|kd@WvdDi&3N>4cd7xNDItGNv$2uMH|aK!A)#uDw@O9;J6D5w%XVrD2j(Ck)_2 zt@X2_#VpYlGO6DPk%U^5s^30HeuX@z2pTe2MjJ!z_nOgGi1ZT||62_IgREK;w0Rt~ ze7)|wtqe%5DDWo!Ydd&P`w!aztAK5L7`~x=L*(oBKd-<^`rb7C;Toq|X)s(aTNjS1 z)d8>tdhue0AB8HThkG{pW=gdIl0Lrzu4U<9Q0u>B$@=;(&#y6z^a1kj2VrO~JY6Vn zZ13+IVaI=%qj)bTAU$DS{o17C;vF^?IOkeeKgUWRKmQJ5z9O^&lIXeP3I-uQ{M@&l zmg^{*m+!Zu#7GhG#WJ|P=($im0Zp1cU&!2<`$(8kNdla8Q0+0}Hn$2}m-eBBc=zu> zAyOdEBY7i}4Dp?5#V6~Xse_oQ1oXa}NE#zawb!rHGp<>+j?jeo*>M3I^@eV9kd@GF zEjnO4Zx<BvPVFn??GO-<+05w?C``D`Ju@}zXIbiavP&Ci-1JR~+Gz|^urTHMYGvfK zX8HprXDhVqnN%us?(W1xVx--kH_-WjeGeaTw1NXOaekpvG1pM_)BE|FDFJcJ5G=h1 zA;Kj4F^HX@4aDbws6HOC$j0J-Ep~k>Yf}GhUlY>MbBoxmx!y@E@&vzvUDnW!7~-}L z%rncJ+AA%)S(W;7v%m#!^q#e0@lrzkf2z~LanQ!Ej*K*S@(YOZ$~LO5cEQ2YoU;5q zbfamdW3pXRqH;9B{TEr_jyNu^xdU_a=IJAy2V%Y@QDUkZjatt>|7x{qVpF{^D$G6E zj?xV?FL-@C@tPwaR`5M!zrW^+#_XpHkeut9i`vTBnk@{=AWf2`q#5;I&#pV{o_%ps zjoB&cjdC^?pupug(`&+LyZtrrxPJ{5sO_CMxsT*Bjl;(2?PV3`c>vh}MR}oi=gpmD z`ETdU3UWMKLb3_8nh-C#6v5DYAe5E-&hC2XJ-VHCpW*G;K9p7aLC>BqVEi!hWWVFH zodhVxOO-mZ_rDK&Mg9Bwxf5!cogt_cbw22)*?P7&uV=fV6(K$lKz9|9Oig2DI_UJ; zocG>l&3Jvg2|&8b0N+}?;=e=5e&060Dwh<zM$_E>uW6c#e2xzri+`hRj@|zWWn<B_ z8Ju8#zKdDz58JMrc}|%7Lv@`)Ad(BUFuaL7Gl;IRZl+~)dJ8vdXK`~HeSG}jizMo< znOhEN@Q19;QMJh^QT$tkEm6I`TSmeVe2{*<0Uoqj@kN`d6!$<@3ucvdA1>!H(I4?# zm*V3+@Ct{@A#L-d@4S|C{Lp#K4M)hZQMS}@%m8*&IYIwgPB=|)BaTiWA~vul?I*av zaCeCEU=H0ZSNaL%kcF^2)@Cdn^n!<R-<CiU8;gdJ0umY*)mUoavj@m(rG;V=NMB6L zNqJ6kFJorX6$rX+lc9P_&VPGt`k?5L%QJAR_-1n;LJu<p%V-7e@_BQF?OWJjKY|uI zAm-Z&0e&EDxLykuPC*lItDiKbzu%doCh_y(D2O-!(rz?D^1vWLBlU9x)w+p(WNcSO zO~~%VquApnU{?xr-!M^OrfU;c#tX3u`z}$4E<`zrZ~ZjmUzinZ(5_phYZe=p{=;6_ zYD|8eX;Wd3ZBw4unt1*nEz*7mO?8?h?5P0H1wz?az-KUjD4bdl*i<lDHyzGUdv5d2 zRpZ6u`Dd|L6lp5HVR{1I!B(Cp#sE27xZHu6_jwycPWUuKQqS*6$O18RS@DD>6CHTo zK5@RD?UN$AUdz($yDf%U2U?Agq7pZiXM}uFu*q3t?o;OtD0z)~9e<)yVwH%5CDnX% zLg%Y`=(#>OY?EB9H9_U9{c$qGa+Qt<b7xA7!JJFh6vXmmI?$SJnPd)z6d<0iKHKsr zXZpQ*5mFw!G$5Z%a#a9n>e<JFV4J?%Xolu&|8shpM|iRd?26H=tn=f7^?^9t%>T?> z4)ow3|H3^I?1C?6=>yCC4-g`n=_xv`?V0+%ik>L0&)R_PHDI<nwPQke^1lDS&@ELK z-GYxqAOWkgo5IMyyna%BLdX^7<Jyd3opG!nY+f&Y(uY~~0g$2G-N$OS`rfDaTe-lN zNTE8*sJ3ND4Z+83tn)DHh<LoP_ILP1@0~|LIie^AvHMKSzRO5|zgoqw=0(JlmLwl^ z60t|>;*6pgdQRceA!jk9LeeXAcxjH0Fx?BS<k6xFyt;iSg1E0oNs<o6$Dgi(<j5PT zGHD*azjuT2GwpurIua!YYKaw}A-$4wZ`{i3_T7kf4m_W7_1BUfdtVSakSXy*1@J6z zdIcXIO5FF_z~@`&$5O|Rq{`1wXQSSS{dl_W7xcdG#=Q+fFE9TP8X`|CZ%iWb+W@s0 zRa|6xhKqm`)!?x_9h!>UrnKXi;-J)RV%?XjGg(B&DPh2#LvZ#jCP6TJkW4qKj*A5^ z#m0fb2|w0Om2;9pFlJKOG)hCEAr7xBct_6}h&lR+Dub@`lm}YAw-wKv>`!Y{x!!y; zH%JMyPaSMh&$<SN#!kf(hXjwcKvgHL$I0@`cjreK3A)9bj+c2Fo!@$1b!v0k=tGVd z$esHE2<-k2#Tz_A?9keCY_UGb$5x5HKpRmWnTnaEV*lDZcs=(I7FGrXJFW8pH~nrS z?lGkfZNnV_A}TYT+usyz$J4i7tdYig`fwhx3ii>3eaa)n6+5x;p_dM1=xtG4aUT2A zOOV05c@)1sXLY{(!UQ=y+)+BY!CNM|l%n*}1)!T*=ghvmy0WyAyYg1VpXz_B@yY=q zt6<Tz{mjmK>z9=i>VUnr%`toZLnHh+!O3w`OR@k4Z*~l@t(>iNT`aM}qP!9X=FP8w z8-g&AZ;hW+x~6Xe5<9z4*87K~CN3z|+yHmbMsjP>Tr0HjSlt@<dOk56TykgK;@Ul# z8Z_%}oR#37At@5E0^JOKDrl{P{>oT}S0E30NWf1m1+$(}Vl8Q<E2o+E!h3e&!teWX zs~vbcYVF1WePjmBW8PQ{CCd6BEvqkF&?m+9%2Z!50}_KjcY;gLxOGqt=HJM#@&}$! z3d{##aiF#1zdydQ_DIJ36LdC-Oz|yx+vpvwe(yIwpuNxbz0y(m@dpl$)6lt-`MNft F{|7_%Z<zo9 diff --git a/users_guide/images/tutorial1.png b/users_guide/images/tutorial1.png deleted file mode 100755 index 96e84d14a9f30ac974e1a74b27adcd145916ccee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1181 zcmV;O1Y-M%P)<h;3K|Lk000e1NJLTq003|R001xu0ssI2M%rm`00009a7bBm000ie z000ie0hKEb8vp<VJV``BRCwC$TRmtLK@^^Y4a{_xPFt}_(BguPf`xb3*cnkUK|v3z zgn;I-NwCnIg(lh<1>qC~6%>;y5tNHXAnB4Kk`#h<I@9e!w(!l)?%ZVmZufR}Z|^cg z*i2^M{M@(SeDBTMi?+M7g;bGLCZ}o|{2Dq_QdlG}^(S?>YV41_-`ffiDMeEdqzLH9 z)kbHdU=71a7}F~u1X_yNX+enCbwaNi#+ubKVB2GjFiYatTkXWE8-zd|=N!Zm-jm5t zjIfO<U<c?NB22IWnA$DuF5#8{kj~mor(Lt#4U?j2^+m|E&^(4)-arN*WtaxwqMJHp zs8zRHfMxWq4%mSuMH!H?u83l%V?><3#-M{Twa0|wj%-ZF&cy(?Qm!=Dnz8Jw&sI8^ zh4pF=sQ%|wlo1Ps0zN(AWhk;3iY;`GFx257AT`L^QH!Azcg9Ub(WiX}tmoxm8qsqu zEw6TFpQKlNh87BKM%-B63}PtMiw*~Mi;p%#EgNY6_;i#;ZO_-{@1KWC?aiizX^Yo3 z?uQ0RETF?@M}lsp5ra$9(0@Dga6NUg&NOsubsGM>aAVO|L+zfX;M4M_q3lVBpnF?l z06O=$-fqUS$WU7=91U%$ho6SJCXb?_Ns2E7A<X5yzy^L;_b6zF0b0IPj>S+`xQ22L z0z;c0s@&k(gC!OlxuY(4gtuA;w#LtWuZCt{IHu7hLYkLn^}p*guHl=XD4LbK4Pe~L z>#=VyM#mp6xkoUK`Fm7M7rxSfZu<IA_40|vuLCI>Dh1Q%f-6l!S)m$=sD|$Tm=<lC z@2bL_0UAn?MJ@j3BM#;C<a<9;hI%#B4%sY*!fZuxzY7}bJewBEa95UwO7Tmgo@U2T zuZB7tJQ9ccYADmoB41IkhI;);8Uc`Nr@MSqrVKR%KMs-8#+Qkew`1JiS3_stZ_nK+ z&D<PfEsNjxWyPUU9D2mqAfqkM&^%e1rI`_IpXG<IEU^3tAX2&A;F%GY2N{2~N@#)v z)n0D$97_H3o|72?WgsCM8jFt^XVA5vGiBb+@*$_axTnK3dbI%*PUuOpO=+CvE9FY8 z4;I%xNw3tiO>NKegrC_3hK8Tzy?LE9O7dA$J~T}Y-CC}8buor;JwUx#jsV(cuRp=H zX8)4hz2*Dn^=Cq7-AxTuMFFY+Re&l$JI_0?G)y-B)H_jTQzr$~wNQ!c7KaL|OTk)g z`D3}|!{1oNdY=_>3SU*}EXCPnK)s6&-=PurFGt6F4H_gwfAWTG7@)q4=*kD^p|4qM zef-&a%qd0ms=j989+wq$<>X0gaTgupcEayUnZj$+Ghvf!apK!lZ+p<)h=dB7E5x$1 zSCU;0?31rJZ^xJ%F|_Z!vpOmD2%z0cboVEqvA*A+N_#+6(5^Hzmw>YW`cy>@pp#QI vg@VNLA5MFiq|1fQG5`Po2XskIMF-IX3>N_y3*Nk-00000NkvXXu0mjf_hvCW diff --git a/users_guide/implementation.xml b/users_guide/implementation.xml deleted file mode 100755 index d3d1ea0..0000000 --- a/users_guide/implementation.xml +++ /dev/null @@ -1,117 +0,0 @@ -<appendix id="implementation"> - <title>Implementation</title> - <section> - <title>Code Generation</title> - <para>The development and maintenance of FXRuby would be almost impossible - without the help of Dave Beazley's excellent - <ulink url="http://www.swig.org">SWIG</ulink>. The complete set of SWIG - interface files used to generate FXRuby is included in the standard - FXRuby source code distribution, and if you'd like you can even - regenerate the FXRuby sources using SWIG. Because FXRuby relies on - functionality in a specific version of SWIG (version 1.3.22), you will need - to <ulink url="http://sourceforge.net/project/showfiles.php?group_id=1645&package_id=1608&release_id=265569">download and install SWIG-1.3.22</ulink>. - <emphasis role="strong">Note that more recent versions of SWIG will not - work</emphasis> (this will be corrected in the future).</para> - <para>To regenerate the FXRuby sources from the SWIG interface files, - change directories to the <filename class="directory">swig-interfaces - </filename> subdirectory of the FXRuby source tree and type <command>make - </command>. Any time that you make a change to the SWIG interface files, - you'll need to repeat this step to update the C++ sources.</para> - </section> - <section> - <title>Object Life Cycles and Garbage Collection</title> - <para>One of the more difficult issues to deal with was understanding - the "life cycle" of FOX objects (that is, the actual C++ objects) and - their relationship to the associated Ruby instances. Understanding this - relationship is critical when dealing with Ruby's garbage collector, - to ensure that objects are disposed of at the right time.</para> - <para>For our purposes, we can divide the set of all objects in an FXRuby - program into two groups, those objects that Ruby "owns" and those that - it doesn't. The first group (the "owned" objects) includes those that you - create explicitly from Ruby code. This is usually done by calling a class' - <methodname>new</methodname> method, e.g.</para> - <programlisting format="linespecific">myIcon = FXPNGIcon.new(myApp, File.open("icon.png", "rb").read) -myButton = FXButton.new(parentWin, "Hello, World!", myIcon)</programlisting> - <para>It's important to keep in mind that when you create an object like - this you're not only creating the Ruby instance part (i.e. whatever - overhead is usually associated with a Ruby instance) but a C++ FOX object - as well. Because we created these objects, we would reasonably expect them - to be destroyed when they are garbage-collected so that our programs - don't leak memory.</para> - <para>The other group of objects (those not owned by Ruby) are those - returned from most class instance methods; they are references to already- - existing objects. For example, <methodname>FXStatusBar#statusline - </methodname> returns a reference to the status bar's enclosed status line - instance.</para> - <section> - <title>GL Objects</title> - <para>A C++ <classname>FXGLGroup</classname> object owns all of the <classname>FXGLObject</classname> objects it "contains". In other words, when that <classname>FXGLGroup</classname> object is destroyed, it will also destroy all of the <classname>FXGLObject</classname> objects for which it holds pointers.</para> - <para>In order to keep track of <emphasis>which</emphasis> GL objects have been added to an <classname>FXGLGroup</classname>, all of the FXRuby C++ classes derived from <classname>FXGLObject</classname> have a boolean member variable <structfield>owned</structfield> that indicates whether this object is "owned" or not. Until an <classname>FXGLObject</classname> object is added to a group, this member variable should stay false.</para> - </section> - </section> - <section> - <title>Virtual Functions</title> - <para> -One of the design requirements for FXRuby was to ensure that any -virtual function call made on a FOX object (from the C++ library -layer) is routed to the proper Ruby instance method, even if that -method has been overridden in a derived class. -</para> -<para> -For example, many of the FXRuby example programs are structured with a -main window class that subclasses <classname>FXMainWindow</classname> -and then overrides its <methodname>create</methodname> instance method:</para> -<programlisting format="linespecific">class MyMainWindow < Fox::FXMainWindow - # overrides the base class version, FXMainWindow#create - def create - end -end</programlisting> -<para>This <methodname>create</methodname> method isn't called directly from Ruby code, however; it's called as a side effect of calling <methodname>FXApp#create</methodname>. Inside the C++ FOX library, the <methodname>FXApp::create()</methodname> member function recursively calls <methodname>create()</methodname> on all of the application's windows and eventually calls the virtual <methodname>FXMainWindow::create()</methodname> member function as well: -</para> -<screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="images/call-chain-example.png" format="PNG" align="center"/> - </imageobject> - </mediaobject> -</screenshot> -<para> -To ensure that our main window's overridden <methodname>create -</methodname> method is invoked instead of the base class implementation, -we need some special machinery in place. -</para> -<para> -For every C++ class that declares virtual member functions, we derive -a new C++ class that overrides all of those virtual functions with special -stubs that know how to make method calls on Ruby instances. The naming -convention for these classes is that the "FX" prefix is replaced with -"FXRb"; for example, our <classname>FXRbButton</classname> C++ class is -derived from FOX's <classname>FXButton</classname>: -</para> - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="images/inheritance.png" format="PNG" align="center"/> - </imageobject> - </mediaobject> - </screenshot> -<para> -Although the implementation of these "stubs" varies from function to function, the -basic requirements are always the same: -<orderedlist> - <listitem><para>Look up the Ruby object associated with this C++ object.</para></listitem> - <listitem><para>Convert each of the function's arguments to their Ruby - representation. For example, arguments of type <type>FXint</type> are - converted to Ruby <classname>Fixnum</classname>s.</para></listitem> - <listitem><para>Call the Ruby object's method, using the <function> - rb_funcall()</function> function from Ruby's C API, and capture its - result (which is itself a Ruby object).</para></listitem> - <listitem><para>Convert the method call's result back to the virtual - function's C++ return type, and then return that result from the C++ - function. For example, if the C++ function has a <type> FXbool</type> - return type, we would expect the corresponding Ruby method to return - either <constant>Qtrue</constant> or <constant>Qfalse</constant>.</para></listitem> -</orderedlist> -</para> - </section> -</appendix> diff --git a/users_guide/infosources.xml b/users_guide/infosources.xml deleted file mode 100755 index 6fb8ec1..0000000 --- a/users_guide/infosources.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="infosources"> - <title>Other Sources of Information</title> - - <simplesect> - <title>Books</title> - - <para>There are no books entirely dedicated to programming with FXRuby, - but the following Ruby books contain sections on FXRuby:</para> - - <itemizedlist mark="bullet"> - <listitem> - <para><citetitle pubwork="book">The Ruby Way</citetitle>, by Hal - Fulton.</para> - </listitem> - - <listitem> - <para><citetitle pubwork="book">Ruby Developer's Guide</citetitle>, - by Michael Neumann, Robert Feldt and Lyle Johnson.</para> - </listitem> - </itemizedlist> - </simplesect> - - <simplesect> - <title>Reference Documentation</title> - - <para>The current <ulink url="http://www.fxruby.org/doc/api">FXRuby API - Reference Documentation</ulink> is a work in progress, but serves as a - pretty good guide to the available methods and attributes for the - different classes. The regular <ulink - url="http://www.fox-toolkit.org">FOX</ulink> API - Reference Documentation can be used as a fallback source of - information, although it is intended for users of the C++ library.</para> - </simplesect> - - <simplesect> - <title>Web Sites</title> - - <para>The <ulink url="http://www.fox-toolkit.com">FOX toolkit home page</ulink> - is still one of the best places to find information about GUI programming - with FOX. This is the site maintained by Jeroen van der Zijp, the creator - and primary developer of FOX, and serves as the official download site for - the FOX library. In addition to a number of articles about programming - with FOX, you'll find links to projects using FOX. A newer web site, - the <ulink url="http://www.fox-toolkit.net">FOX Community Wiki</ulink>, is - maintained by Sander Jansen. Like most Wiki sites, the information here is - a little more scattered but tends to be more up-to-date than some - information on the main FOX site. This site includes a number of tutorial - articles, as well as "cookbook" and "how-to" pages on many - topics.</para> - </simplesect> - - <simplesect> - <title>Mailing Lists</title> - - <para>One or more of the following mailing lists may be of interest:</para> - - <itemizedlist mark="bullet"> - <listitem> - <para>The fxruby-announce@rubyforge.org mailing list is a very - low-volume list for FXRuby-related announcements. To subscribe to this - list, follow the instructions at <ulink - url="http://rubyforge.org/mailman/listinfo/fxruby-announce">http://rubyforge.org/mailman/listinfo/fxruby-announce</ulink></para> - </listitem> - - <listitem> - <para>The fxruby-users@rubyforge.org mailing list is a - higher-volume list for FXRuby-related discussions. To subscribe to - this list, follow the instructions at <ulink - url="http://rubyforge.org/mailman/listinfo/fxruby-users">http://rubyforge.org/mailman/listinfo/fxruby-users</ulink></para> - </listitem> - - <listitem> - <para>The foxgui-announce@lists.sourceforge.net mailing list is a very - low-volume list for FOX-related announcements. To subscribe to this - list, follow the instructions at <ulink - url="http://lists.sourceforge.net/lists/listinfo/foxgui-announce">http://lists.sourceforge.net/lists/listinfo/foxgui-announce</ulink></para> - </listitem> - - <listitem> - <para>The foxgui-users@lists.sourceforge.net mailing list is a - higher-volume list for FOX-related discussions. To subscribe to this - list, follow the instructions at <ulink - url="http://lists.sourceforge.net/lists/listinfo/foxgui-users">http://lists.sourceforge.net/lists/listinfo/foxgui-users</ulink></para> - </listitem> - - <listitem> - <para>The Ruby-Talk mailing list (or its mirror, the - comp.lang.ruby newsgroup) is a high-volume list for Ruby-related - discussions. To subscribe to this list, follow the instructions at - <ulink url="http://www.ruby-lang.org/en/community/mailing-lists/">http://www.ruby-lang.org/en/community/mailing-lists/</ulink></para> - </listitem> - </itemizedlist> - </simplesect> -</chapter> diff --git a/users_guide/layout.xml b/users_guide/layout.xml deleted file mode 100755 index 44e4273..0000000 --- a/users_guide/layout.xml +++ /dev/null @@ -1,31 +0,0 @@ -<chapter id="layout"> - <title>Layout Managers</title> - <para>FOX uses special widgets known as <emphasis>layout managers</emphasis> to arrange the widgets in a user interface.</para> - <section> - <title>FXPacker</title> - <para>All widgets derived from <classname>FXFrame</classname> have some amount of internal padding along their sides. The default padding along each side is 2 pixels, but you can specify the amount of padding when the widget is constructed via the <arg>pl</arg>, <arg>pr</arg>, <arg>pt</arg> and <arg>pb</arg> arguments to the widget's constructor. For example, to construct an <classname>FXLabel</classname> widget with 5 pixels padding at its left and right sides, you'd do:</para> - <programlisting format="linespecific">aLabel = FXLabel.new(parent, "Label", nil, LABEL_NORMAL, 0, 0, 0, 0, 5, 5)</programlisting> - <para>It of course may be easier to set the padding in a code block instead, e.g.</para> - <programlisting format="linespecific"><![CDATA[aLabel = FXLabel.new(parent, "Label") do - self.padLeft = 5 - self.padRight = 5 -end]]></programlisting> - </section> - <section> - <title>FXHorizontalFrame and FXVerticalFrame</title> - <para>The <classname>FXHorizontalFrame</classname> and <classname>FXVerticalFrame</classname> layout managers aren't as powerful as some of the other layout managers, but they are very easy to use and you'll probably find them adequate for a lot of layout needs. As you might guess from their names, the <classname>FXHorizontalFrame</classname> layout manager lays out its children horizontally and the <classname>FXVerticalFrame</classname> layout manager lays out its children from top to bottom.</para> - </section> - <section> - <title>FXMatrix</title> - <para>The <classname>FXMatrix</classname> layout manager lays out its children in rows and columns.</para> - </section> - <section> - <title>FXSplitter and FX4Splitter</title> - <para>The <classname>FXSplitter</classname> layout manager is used to display a pair of windows side-by-side. The size of the individual windows' contents can be easily resized by the user.</para> - <para>A splitter is either a "horizontal" splitter, meaning that the container is split left-to-right, or a "vertical" splitter, meaning that the container is split top-to-bottom. By default, an <classname>FXSplitter</classname> is created with a horizontal split, but you can change that by specifying the <constant>SPLITTER_VERTICAL</constant> option in the initialization options:</para> - <programlisting format="linespecific">aSplitter = FXSplitter.new(parent, SPLITTER_VERTICAL)</programlisting> - <para>Although it will probably make for a confusing user interface, you can also change this setting at any time by modifying the <structfield>splitterStyle</structfield> attribute, i.e.</para> - <programlisting format="linespecific">aSplitter.splitterStyle = SPLITTER_HORIZONTAL</programlisting> - <para>A splitter should contain exactly two child widgets, one for the "left" pane and one for the "right" pane (assuming it's a horizontal splitter).</para> - </section> -</chapter> diff --git a/users_guide/library.xml b/users_guide/library.xml deleted file mode 100755 index 72b5476..0000000 --- a/users_guide/library.xml +++ /dev/null @@ -1,61 +0,0 @@ -<appendix id="library"> - <title>The FXRuby Standard Library</title> - <para>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.</para> - <simplesect> - <title>Undoable Commands</title> - <para>The <filename>fox16/undolist.rb</filename> file provides the <classname>FXCommand</classname> and <classname>FXUndoList</classname> classes. These serve the same purpose as the <classname>FXCommand</classname> and <classname>FXUndoList</classname> classes from the standard FOX distribution, but they're implemented entirely in Ruby.</para> - <para>For a complete description of these classes and how to use them, see the RD documentation in <filename>fox16/undolist.rb</filename>.</para> - </simplesect> - <simplesect> - <title>Aliases</title> - <para>The <filename>fox16/aliases.rb</filename> implements most of the accessor-style aliases for methods. This file is loaded automatically when you <programlisting format="linespecific">require 'fox16'</programlisting> and so you should never need to load it directly.</para> - </simplesect> - <simplesect> - <title>Color Names</title> - <para>The <filename>fox16/colors.rb</filename> file, contributed by Jeff - Heard, provides a bunch of predefined color values (based on the standard - X11 color names). You can use these color constants anywhere that FOX - expects an RGB color value, e.g.</para> - <programlisting format="linespecific">dc = FXDCWindow.new(drawable, ev) -dc.foreground = FXColor::MistyRose # instead of FXRGB(255, 228, 225) -dc.background = FXColor::MidnightBlue # instead of FXRGB( 25, 25, 112)</programlisting> - </simplesect> - <simplesect> - <title>OpenGL Shapes</title> - <para>The <filename>fox16/glshapes.rb</filename> library provides Ruby - implementations of a number of basic 3-D shapes (all derived from the - built-in <classname>FXGLShape</classname> class) that can be used with - the <classname>FXGLViewer</classname>. Several of these shapes are used - in the <filename>glviewer.rb</filename> example program. These shapes - were originally implemented in C++ and wrapped using SWIG, but they are - straightforward enough to implement in Ruby so they were moved out to - this library instead.</para> - </simplesect> - <simplesect> - <title>Iterators</title> - <para>The <filename>fox16/iterators.rb</filename> library just adds an - <methodname>each</methodname> instance method for the <classname> - FXComboBox</classname>, <classname>FXGLGroup</classname>, <classname> - FXHeader</classname>, <classname>FXIconList</classname>, <classname> - FXList</classname>, <classname>FXListBox</classname>, <classname> - FXTable</classname>, <classname>FXTreeItem</classname>, <classname> - FXTreeList</classname> and <classname>FXTreeListBox</classname> classes, - so that you can iterate over their members in a Ruby-friendly way. It - also mixes the <classname>Enumerable</classname> module into each of - these classes.</para> - </simplesect> - <simplesect> - <title>Key Codes</title> - <para>The <filename>fox16/keys.rb</filename> library file defines all of the - key codes (e.g. <constant>KEY_space</constant>) that might show up in the - code field of an <classname>FXEvent</classname> instance. This file is - loaded automatically when you - <programlisting format="linespecific">require 'fox16'</programlisting> and - so you should never need to load it - directly.</para> - </simplesect> - <simplesect> - <title>Calendar Widget</title> - <para>The <filename>fox16/calendar.rb</filename> library file provides the <classname>FXCalendar</classname> widget, contributed by David Naseby.</para> - </simplesect> -</appendix> diff --git a/users_guide/maintainer.xml b/users_guide/maintainer.xml deleted file mode 100755 index f47d7ae..0000000 --- a/users_guide/maintainer.xml +++ /dev/null @@ -1,24 +0,0 @@ -<chapter id="maintainer"> - <title>Maintainer's Checklists</title> - <simplesect> - <title>Updating to a new version of FOX</title> - <itemizedlist mark="bullet"> - <listitem><para>Download, build and install the latest version of the FOX library.</para></listitem> - <listitem><para>Change to the <filename class=directory>fox-includes</filename> subdirectory of the FXRuby code and modify the <filename>diffs.py</filename> script so that the path1 variable contains the path name for the include files.</para></listitem> - <listitem><para>Run the <filename>diffs.py</filename> and redirect its output to a file. This generates a cleaned-up listing of the differences between the FOX include files currently included with FXRuby and those from the latest FOX distribution, including things like lists of include files added to and removed from the distribution.</para></listitem> - <listitem><para>If any new include files have been added to FOX, copy those over to FXRuby's <filename class=directory>fox-includes</filename> subdirectory and add them to the Subversion repository using svn add.</para></listitem> - </itemizedlist> - </simplesect> - <simplesect> - <title>Integrating a new FOX class into FXRuby</title> - <listitem><para>Create a new SWIG interface file for this class in the <filename class=directory>swig-interfaces</filename> subdirectory. It's easiest to start by just copying over the corresponding FOX include file (e.g. copy <filename>fox-includes/FXColorWheel.h</filename> to <filename>swig-interfaces/FXColorWheel.i</filename>.</para></listitem> - <listitem><para>Replace all of the FOX copyright information at the top of the file with the FXRuby copyright information (from any of the other SWIG interface files).</para></listitem> - <listitem><para>Remove the #ifdef preprocessor protections, the FXDECLARE macro, the FXAPI macro, and any private sections of the class declaration.</para></listitem> - <listitem><para>Remove the declarations of any virtual function overrides (e.g. <methodname>create</methodname> or <methodname>getDefaultWidth</methodname>) since they aren't needed.</para></listitem> - <listitem><para>Add the declaration for the class' destructor, if it's not already there. This is a signal to SWIG to generate code that destroys the C++ object when it's garbage-collected; if it's not there, you may experience memory leaks.</para></listitem> - <listitem><para>Add the required SWIG %rename directives to the <filename>swig-interfaces/renames.i</filename> file. For each class, you'll have two %rename directives; one to rename the original class name (e.g. <classname>FXPicker</classname>) to a mangled name (<classname>FX_Picker</classname>) and another to rename the FXRuby subclass (<classname>FXRbPicker</classname>) to the public name (<classname>FXPicker</classname>).</para></listitem> - <listitem><para>Add a new header file to the <filename class=directory>ext/fox/include</filename> directory for the new FXRuby subclass (e.g. <filename>FXRbPicker.h</filename>.</para></listitem> - <listitem><para>Add any appropriate aliases for this class' method names to the <filename>lib/fox/aliases.rb</filename> file.</para></listitem> - </itemizedlist> - </simplesect> -</chapter> diff --git a/users_guide/opengl.xml b/users_guide/opengl.xml deleted file mode 100755 index e6f1029..0000000 --- a/users_guide/opengl.xml +++ /dev/null @@ -1,151 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<appendix id="opengl"> - <title>Using OpenGL with FXRuby</title> - - <abstract> - <para>FOX provides extensive support for OpenGL through its - <classname>FXGLCanvas</classname> and <classname>FXGLViewer</classname> - widgets, and FXRuby in turn provides interfaces to those classes. By - combining FXRuby with the OpenGL interface for Ruby (described below) you - can develop very powerful 3-D graphics applications. This chapter gives - you the information you'll need to get started.</para> - </abstract> - - <simplesect> - <title>What is OpenGL?</title> - - <para>OpenGL is a platform-independent API for 2D and 3D graphics. The - home page is <ulink - url="http://www.opengl.org">http://www.opengl.org</ulink>. Because it's a - fairly open standard, highly optimized OpenGL drivers are available for - most operating systems (including Windows and Linux).</para> - </simplesect> - - <simplesect> - <title>OpenGL Extensions for Ruby</title> - - <para>This extension module, developed by Yoshiyuki Kusano, provides - interfaces to not only the basic OpenGL API, but also the GLU and GLUT - APIs. As of this writing, the currently released version is 0.32d and is - available for download from <ulink - url="http://www2.giganet.net/~yoshi/rbogl-0.32b.tgz">http://www2.giganet.net/~yoshi/rbogl-0.32d.tgz</ulink>. - Be sure to check the <ulink - url="http://www.ruby-lang.org/en/raa.html">Ruby Application - Archive</ulink> for the latest version of this extension as it is still - under development.</para> - - <para>Once you've downloaded the tarball, you should extract its contents - to the working directory of your choice by typing:</para> - - <screen>$ <command>tar xzf rbogl-0.32d.tgz</command></screen> - - <para>After executing this command you should have a new <filename - class="directory">opengl</filename> (<emphasis>not</emphasis> <filename - class="directory">rbogl-0.32b</filename>) subdirectory. Change to this - directory and then type:</para> - - <screen>$ <command>ruby extconf.rb</command></screen> - - <para>This should create a <filename>Makefile</filename> configured - appropriately for your local Ruby installation. To now build the OpenGL - module, type:</para> - - <screen>$ <command>make</command></screen> - - <para>You can safely ignore the warning(s) about - <methodname>glut_KeyboardFunc</methodname> when it's compiling - <filename>glut.c</filename>. Well, I ignore them and it hasn't hurt me yet - ;) Assuming you get an otherwise clean build, install the OpenGL - extensions by typing:</para> - - <screen>$ <command>make site-install</command></screen> - - <para>Please note that I'm not the maintainer of this particular Ruby - extension, so I can't really accept bug fixes for it. But if you're having - trouble integrating Ruby/OpenGL with FXRuby, let me know and we'll see - what we can do.</para> - </simplesect> - - <simplesect> - <title>The FXGLVisual Class</title> - - <para>An <classname>FXGLVisual</classname> object describes the - capabilities of an <classname>FXGLCanvas</classname> or - <classname>FXGLViewer</classname> window. Typically, an X server supports - many different visuals with varying capabilities, but the ones with - greater capabilities require more resources than those with fewer - capbilities. To construct an <classname>FXGLVisual</classname> object, - just call <methodname>FXGLVisual.new</methodname>:</para> - - <programlisting format="linespecific">aVisual = FXGLVisual.new(theApp, VISUAL_DOUBLEBUFFER)</programlisting> - - <para>The first argument to <methodname>FXGLVisual.new</methodname> is a - reference to the application object. The second argument is a set of - options indicating the <emphasis>requested</emphasis> capabilities for the - visual. If one or more of the requested capabilities aren't available, FOX - will try to gracefully degrade to a working GL visual; but if you're - counting on a specific capability, be sure to check the returned visual to - see if it actually supports that capability. For example, say you request - a visual with double-buffering and stereographic capabilities:</para> - - <programlisting format="linespecific">anotherVisual = FXGLVisual.new(theApp, VISUAL_DOUBLEBUFFER | VISUAL_STEREO)</programlisting> - - <para>Double-buffering is pretty commonplace these days, but stereo may - not be available on the system. We can check to see whether the visual we - got supports these capabilities by calling the - <methodname>FXGLVisual#doubleBuffered?</methodname> and - <methodname>FXGLVisual#stereo?</methodname> methods:</para> - - <programlisting format="linespecific">anotherVisual = FXGLVisual.new(theApp, VISUAL_DOUBLEBUFFER | VISUAL_STEREO) -if anotherVisual.doubleBuffered? - puts "It's double-buffered." -else - puts "It's single-buffered." -end -if anotherVisual.stereo? - puts "It's stereo." -else - puts "It isn't stereo." -end</programlisting> - - <para>Some <classname>FXGLVisual</classname> object must be associated - with every <classname>FXGLCanvas</classname> or - <classname>FXGLViewer</classname> window, but you don't need to have a - separate <classname>FXGLVisual</classname> object for each window. For - most applications, you can just construct a single - <classname>FXGLVisual</classname> object that's shared among all the - OpenGL windows.</para> - </simplesect> - - <simplesect> - <title>The FXGLCanvas Class</title> - - <para>The <classname>FXGLCanvas</classname> widget provides a very simple - OpenGL-capable window with minimal functionality. To construct an - <classname>FXGLCanvas</classname>, call - <methodname>FXGLCanvas.new</methodname>:</para> - - <programlisting format="linespecific">glCanvas = FXGLCanvas.new(parent, vis)</programlisting> - - <para>The first argument to <methodname>FXGLCanvas.new</methodname> is the - parent (container) widget and the second argument is the - <classname>FXGLVisual</classname> that should be used for this - window.</para> - </simplesect> - - <simplesect> - <title>OpenGL objects and the FXGLViewer</title> - - <para>The <classname>FXGLViewer</classname> widget provides a higher-level - OpenGL-capable window with a lot of built-in functionality. To construct - an <classname>FXGLViewer</classname>, call - <methodname>FXGLViewer.new</methodname>:</para> - - <programlisting format="linespecific">glViewer = FXGLViewer.new(parent, vis)</programlisting> - - <para>The first argument to <methodname>FXGLViewer.new</methodname> is the - parent (container) widget and the second argument is the - <classname>FXGLVisual</classname> that should be used for this - window.</para> - </simplesect> -</appendix> \ No newline at end of file diff --git a/users_guide/preface.xml b/users_guide/preface.xml deleted file mode 100755 index 7f65d2c..0000000 --- a/users_guide/preface.xml +++ /dev/null @@ -1,7 +0,0 @@ -<preface><title>Preface</title> - <para> - The purpose of this tutorial is to introduce you to some of the - fundamental concepts in FXRuby. It assumes that you already have - a working FXRuby installation in place. - </para> -</preface> diff --git a/users_guide/scintilla.xml b/users_guide/scintilla.xml deleted file mode 100755 index 2b51505..0000000 --- a/users_guide/scintilla.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<appendix id="scintilla"> - <title>Using Scintilla with FXRuby</title> - - <simplesect> - <title>What is Scintilla?</title> - - <para><ulink url="http://www.scintilla.org">Scintilla</ulink> is a free - source code editing component developed by Neil Hodgson for the Win32 and - GTK+ platforms.</para> - </simplesect> - - <simplesect> - <title>What is FXScintilla?</title> - - <para><ulink - url="http://savannah.gnu.org/projects/fxscintilla">FXScintilla </ulink> is - a FOX widget that wraps around the Scintilla component, or, if you wish, - the FOX "port" of Scintilla. Until recently it was developed by Gilles Filippini, - and as of this writing the latest release is available for download from - <ulink - url="http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz">http://download.savannah.gnu.org/releases/fxscintilla/fxscintilla-1.71.tar.gz</ulink>.</para> - </simplesect> - - <simplesect> - <title>Compiling FXScintilla</title> - - <para>The FXScintilla distribution contains everything you need to build - the FXScintilla widget and begin using it in your C++-based FOX - applications. That is to say, you do not have to separately download the - Scintilla source code from the Scintilla home page. When you unpack the - FXScintilla tarball, you should get a new <filename class="directory"> - fxscintilla-1.71</filename> directory containing the source code for the - FOX port of the Scintilla widget.</para> - - <para>As of the 1.46 release of FXScintilla, the build process has been - "autoconfiscated" and should seem very familiar to you if you've built - other open-source software (like FOX) from the source code. The - <filename>INSTALL</filename> file in the top-level directory should - provide enough instruction for you to build and install FXScintilla for - either Unix or Microsoft Windows.</para> - </simplesect> - - <simplesect> - <title>Enabling FXScintilla Support in FXRuby</title> - - <para>The next step is to build a version of FXRuby (from its source code) - with the optional FXScintilla support enabled. If you're working on a Unix - or Linux system and have installed FXScintilla in one of the standard - installation directories (e.g. under <filename - class="directory">/usr/include</filename> or <filename - class="directory">/usr/local/include</filename>), the regular FXRuby build - process should automatically detect it and enable FXScintilla - support.</para> - - <para>If you have installed FXScintilla in some non-standard place, or if - you're building the code on Microsoft Windows, you will need to specify a - few additional configuration options at the beginning.</para> - - <para>You can configure the build on Unix or Linux systems by - typing:</para> - - <screen> -$ <command>sudo gem install fxruby-1.6.7.gem --force -- --with-fxscintilla-include=/usr/local/include/fxscintilla --with-fxscintilla-lib=/usr/local/lib</command> -</screen> - - <para>or, when compiling with Microsoft Visual C++, by typing:</para> - - <screen> -C:\> <command>gem install fxruby-1.6.7.gem --force -- --with-fox-include=C:\fox-1.6.25\include --with-fox-lib=C:\fox-1.6.25\lib --with-fxscintilla-include=C:\fxscintilla-1.71\include --with-fxscintilla-lib=C:\fxscintilla-1.71\lib</command> -</screen> - - <para>Past this point, the build and installation process for either - platform should be the same as for standard builds. To test your new - FXScintilla-enabled build of FXRuby, try running the - <filename>scintilla-test.rb</filename> example program in the FXRuby - <filename class="directory">examples</filename> subdirectory.</para> - </simplesect> -</appendix> diff --git a/users_guide/style.css b/users_guide/style.css deleted file mode 100644 index a584e5d..0000000 --- a/users_guide/style.css +++ /dev/null @@ -1,247 +0,0 @@ -/************************************************************************/ -/* Custom style-sheet stuffs for the Subversion book in HTML form. */ -/************************************************************************/ - -/* - * Copyright (c) 2003-2007 - * Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato. - * - * This work is licensed under the Creative Commons Attribution License. - * To view a copy of this license, visit - * http://creativecommons.org/licenses/by/2.0/ or send a letter to - * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, - * USA. - */ - -body -{ - background: white; - margin: 0.5in; - font-family: arial,helvetica,sans-serif; -} - -p, li, ul, ol, dd, dt -{ - font-style: normal; - font-weight: normal; - color: black; -} - -tt, pre -{ - font-family: courier new,courier,fixed; -} - -a -{ - color: blue; - text-decoration: underline; -} - -a:hover -{ - background: rgb(75%,75%,100%); - color: blue; - text-decoration: underline; -} - -a:visited -{ - color: purple; - text-decoration: underline; -} - -img -{ - border: none; -} - -h1.title -{ - font-size: 250%; - font-style: normal; - font-weight: bold; - color: black; -} - -h2.subtitle -{ - font-size: 150%; - font-style: italic; - color: black; -} - -h2.title -{ - font-size: 150%; - font-style: normal; - font-weight: bold; - color: black; -} - -h3.title -{ - font-size: 125%; - font-style: normal; - font-weight: bold; - color: black; -} - -h4.title -{ - font-size: 100%; - font-style: normal; - font-weight: bold; - color: black; -} - -.toc b -{ - font-size: 125%; - font-style: normal; - font-weight: bold; - color: black; -} - -.command, .screen, .programlisting, .structname -{ - font-family: courier new,courier,fixed; - font-style: normal; - font-weight: normal; -} - -.filename -{ - font-family: arial,helvetica,sans-serif; - font-style: italic; -} - -.figure, .example, .table -{ - margin: 0.125in 0.25in; -} - -.table table -{ - border-width: 1px; - border-style: solid; - border-color: black; - border-spacing: 0; - background: rgb(240,240,240); -} - -.table td -{ - border: none; - border-right: 1px black solid; - border-bottom: 1px black solid; - padding: 2px; -} - -.table th -{ - background: rgb(180,180,180); - border: none; - border-right: 1px black solid; - border-bottom: 1px black solid; - padding: 2px; -} - -.table p.title, .figure p.title, .example p.title -{ - text-align: left !important; - font-size: 100% !important; -} - -.author, .pubdate -{ - margin: 0; - font-size: 100%; - font-style: italic; - font-weight: normal; - color: black; -} - -.preface div.author, .preface .pubdate -{ - font-size: 80%; -} - -.sidebar -{ - border-top: dotted 1px black; - border-left: dotted 1px black; - border-right: solid 2px black; - border-bottom: solid 2px black; - background: rgb(240,220,170); - padding: 0 0.12in; - margin: 0.25in; -} - -.note .programlisting, .note .screen, -.tip .programlisting, .tip .screen, -.warning .programlisting, .warning .screen, -.sidebar .programlisting, .sidebar .screen -{ - border: none; - background: none; -} - -.sidebar p.title -{ - text-align: center; - font-size: 125%; -} - -.note -{ - border: black solid 1px; - background: url(./images/note.png) no-repeat rgb(252,246,220); - margin: 0.125in 0; - padding: 0 55px; -} - -.tip -{ - border: black solid 1px; - background: url(./images/tip.png) no-repeat rgb(224,244,255); - margin: 0.125in 0; - padding: 0 55px; -} - -.warning -{ - border: black solid 1px; - background: url(./images/warning.png) no-repeat rgb(255,210,210); - margin: 0.125in 0; - padding: 0 55px; -} - -.note .title, .tip .title, .warning .title -{ - display: none; -} - -.programlisting, .screen -{ - font-size: 90%; - color: black; - margin: 1em 0.25in; - padding: 0.5em; - background: rgb(240,240,240); - border-top: black dotted 1px; - border-left: black dotted 1px; - border-right: black solid 2px; - border-bottom: black solid 2px; -} - -.navheader, .navfooter -{ - border: black solid 1px; - background: rgb(180,180,200); -} - -.navheader hr, .navfooter hr -{ - display: none; -} diff --git a/users_guide/subversion.xml b/users_guide/subversion.xml deleted file mode 100755 index c2947ef..0000000 --- a/users_guide/subversion.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<appendix id="subversion"> - <title>Getting the Sources from Subversion</title> - - <para>All of the source code for FXRuby is available for anonymous, - read-only <ulink url="http://subversion.tigris.org/">Subversion</ulink> - access. This chapter describes how to check out the sources for the - development release of FXRuby and then build FXRuby from those sources. The - information in this chapter builds on the basic Subversion instructions - provided for any RubyForge hosted project, and specifically those <ulink - url="http://rubyforge.org/scm/?group_id=300">instructions</ulink> for the - FXRuby project hosted at RubyForge.</para> - - <para>There are some prerequisites. Obviously, you're going to need to have - some kind of Subversion client installed on your system and have a clue - about how to use it to check out code from a remote repository. Please do - not send me questions about how to install or use Subversion. A good - starting point for documentation about Subversion is the <ulink - url="http://subversion.tigris.org/">home page</ulink>, and especially the - <ulink url="http://svnbook.red-bean.com/">book</ulink>.</para> - - <para>You're also going to need to have a working <ulink - url="http://www.swig.org/">SWIG</ulink> installation so that you can - generate the C++ source files from the SWIG interface files. As of this - writing, FXRuby requires SWIG version 1.3.22; later versions of SWIG will - not work, nor will versions earlier than about 1.3.15.</para> - - <simplesect> - <title>Checking out the code</title> - - <para>To check out the development version (i.e. the trunk) for FXRuby, - type the following command:</para> - - <para><screen>svn checkout svn://rubyforge.org/var/svn/fxruby/trunk/FXRuby</screen></para> - - <para>Next, you'll need to use SWIG to generate the C++ source code from - the SWIG interface files. To do that, type:</para> - - <para><screen>rake swig</screen></para> - - <para>At this point, you should be ready to change to the top-level - directory and go through the normal build and installation process, as - described in an earlier chapter.</para> - </simplesect> -</appendix> diff --git a/users_guide/template.xml b/users_guide/template.xml deleted file mode 100755 index 085c248..0000000 --- a/users_guide/template.xml +++ /dev/null @@ -1,5 +0,0 @@ -<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN" --> -<chapter> - <title>TITLE HERE</title> - <para>PARAGRAPH(S) HERE</para> -</chapter> diff --git a/users_guide/todo.xml b/users_guide/todo.xml deleted file mode 100755 index 249bffd..0000000 --- a/users_guide/todo.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="todo"> - <title>To-do list</title> - - <itemizedlist mark="bullet"> - <listitem> - <para>I haven't yet paid much attention to some of the more esoteric - issues such as multithreaded applications, or interactions with other - popular Ruby extensions. FXRuby seems to cooperate well with Ruby's - thread scheduler on all platforms, although threading support for the - mswin32 build of Ruby was broken for Ruby versions 1.6.7 and earlier. - For best results, use Ruby versions 1.6.8 or later.</para> - </listitem> - - <listitem> - <para>More examples are always good. Instead of (or in addition to) - merely cloning the C++ examples from the standard FOX distribution, it - would be nice to have original example programs that demonstrate - Ruby's special strengths.</para> - </listitem> - - <listitem> - <para>Documentation is of course a big weakness at this point. I am - slowly building up a set of "pseudo-sources" with RDoc-style - comments that can be used to generate API documentation but this is far - from complete (see the <filename class="directory">rdoc-sources</filename> - directory in the standard source distribution).</para> - </listitem> - - <listitem> - <para>Many people have expressed interest in a framework similar to - Tk's <classname>Canvas</classname> widget that allows you to draw - and drag 2-D shapes around, etc. Should be able to implement this kind - of thing directly in Ruby code (i.e. no need to write it in C++ first - and then "wrap" it).</para> - </listitem> - - <listitem> - <para>There is no native Mac OS X port of FOX, but many people are - successfully building and running FOX and FXRuby applications on Mac OS - X using Apple's X11 server implementation. For more information, - please see the <ulink - url="http://www.fox-toolkit.net/cgi-bin/wiki.pl?Mac_OS_X">Mac OS X</ulink> - page at the <ulink url="http://www.fox-toolkit.net">FOX Community Wiki</ulink> - site.</para> - </listitem> - - <listitem> - <para>Need to investigate how well FXRuby-based applications work with - <ulink url="http://exerb.sourceforge.jp/index.en.html">exerb</ulink>, - and perhaps add a section to the documentation about how to do this.</para> - </listitem> - - <listitem> - <para>As of this writing, FOX doesn't provide any support for - internationalization (I18N) or Unicode text and so FXRuby doesn't - either. It is possible that FOX 1.2 will include some I18N support (see - the <ulink url="http://www.fox-toolkit.net/cgi-bin/wiki.pl?FAQ">FAQ</ulink> - at the <ulink url="http://www.fox-toolkit.net">FOX Community Wiki</ulink> - site), and if so, appropriate changes will be made to FXRuby at that - time.</para> - </listitem> - - <listitem> - <para>FOX's list-like widgets (such as <classname>FXList</classname>) - behave differently from Ruby container objects (such as - <classname>Array</classname>) in the sense that when a list widget is - destroyed, it typically destroys all of its contained items at the same - time. One consequence of this behavior is that you can end up with Ruby - objects that refer to dead C++ objects (a variation of the dangling - pointer problem familiar to C/C++ programmers). I would like to see if - this behavior can be modified for FXRuby so that it's impossible to - end up with these "dangling references".</para> - </listitem> - </itemizedlist> -</chapter> diff --git a/users_guide/tutorial1.xml b/users_guide/tutorial1.xml deleted file mode 100755 index 446ea01..0000000 --- a/users_guide/tutorial1.xml +++ /dev/null @@ -1,437 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="tutorial1"> - <title>Hello, World!</title> - - <para>There are a few things common to all programs that use FXRuby, and the - purpose of this chapter is to help you get familiar with those. We'll do - this by developing a short program that simply displays a button containing - the text, "Hello, World!". For reference, this program is included in the - <filename>examples</filename> subdirectory of the standard FXRuby source - code distribution.</para> - - <section> - <title>First Things First</title> - - <para>All of the code associated with the FXRuby extension is provided by - the <classname>fox16 </classname>gem, so we need to start by requiring - this gem:</para> - - <programlisting format="linespecific">require 'fox16'</programlisting> - - <para>Since all of the FXRuby classes are defined under the - <classname>Fox</classname> module, you'd normally need to refer to them - using their "fully qualified" names (i.e. names that begin with the - <classname>Fox::</classname> prefix). Because this can get a little - tedious, and because there's not really much chance of name conflicts - between FXRuby and other Ruby extensions, I usually like to add an - <methodname>include Fox</methodname> statement so that all of the names in - the <classname>Fox</classname> module are "included" into the global - namespace:</para> - - <programlisting format="linespecific">require 'fox16' - -<emphasis role="bold">include Fox</emphasis></programlisting> - - <para>Every FXRuby program begins by creating an - <classname>FXApp</classname> instance:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -<emphasis role="bold">theApp = FXApp.new</emphasis></programlisting> - - <para>The <classname>FXApp</classname> instance has a lot of - responsibilities in an FXRuby application. One of the most frequent ways - you'll use it is to kick off the application's main event loop (which - you'll see later in this tutorial). The application is also the object - responsible for managing "global" resources like timers and the FOX - registry. It is a different approach from some other GUI toolkits for - Ruby, where these kinds of global resources are accessed using - module-level methods. As you continue to develop programs using FXRuby, - you'll learn about other ways that the <classname>FXApp</classname> object - is used.</para> - - <para>The next step is to create an <classname>FXMainWindow</classname> - instance to serve as the application's main window. If you've used Ruby/Tk - before, this is similar to its <classname>TkRoot</classname> - window:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -<emphasis role="bold">theMainWindow = FXMainWindow.new(theApp, "Hello")</emphasis></programlisting> - - <para>Here, we pass <parameter>theApp</parameter> as the first argument to - <methodname>FXMainWindow.new</methodname> to associate the new - <classname>FXMainWindow</classname> instance with this - <classname>FXApp</classname>. The second argument to - <methodname>FXMainWindow.new</methodname> is a string that will be used - for the main window's title.</para> - - <para>So far, all we've done is instantiate the client-side objects. - Unlike most other toolkits, FOX makes a distinction between client-side - data (such as an <classname>FXMainWindow</classname> object) and - server-side data (such as the X window associated with that Ruby object). - To create the server-side objects associated with the already-constructed - client-side objects, we call <methodname>FXApp#create</methodname>:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") - -<emphasis role="bold">theApp.create</emphasis></programlisting> - - <para>By default, all windows in FXRuby programs are invisible, so we need - to call our main window's <methodname>show</methodname> instance - method:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") -theApp.create - -<emphasis role="bold">theMainWindow.show</emphasis></programlisting> - - <para>The last step is to start the program's main loop by calling - <parameter>theApp</parameter>'s <methodname>run</methodname> instance - method:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") -theApp.create - -theMainWindow.show - -<emphasis role="bold">theApp.run</emphasis></programlisting> - - <para>The <methodname>FXApp#run</methodname> method doesn't return until - the program exits. It is similar to the <methodname>mainloop</methodname> - method used for Ruby/Tk and Ruby/GTK, and you can in fact use - <methodname>FXApp#mainloop</methodname> as an alias for - <methodname>run</methodname> if you prefer.</para> - - <para>At this point, we have a working (if not very interesting) program - that uses FXRuby. If you run it, you'll see something like this:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello-without-button.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </section> - - <section> - <title>Better living through buttons</title> - - <para>Obviously, we need to add a few things to make it more interesting. - Let's start by putting a button inside the main window. The - <classname>FXButton</classname> class provides a standard push-button - widget:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") -<emphasis role="bold">FXButton.new(theMainWindow, "Hello, World!")</emphasis> -theApp.create - -theMainWindow.show - -theApp.run</programlisting> - - <para>As you might guess, passing <parameter>theMainWindow</parameter> as - the first argument to <methodname>FXButton.new</methodname> tells FXRuby - that the new button is a child of the main window. The second argument to - <methodname>FXButton.new</methodname> is a string that will be displayed - on the button. If you run the program <emphasis>now</emphasis>, you should - see this:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello-with-button.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </section> - - <section> - <title>Messages</title> - - <para>Now we're cookin' with Crisco, but let's press on and see what other - things we can do to improve this. You may have noticed by now that the - only way to quit the program is to close the window using the window - manager's "close window" option, or to just kill the program outright. We - can do better than that. Let's add a message handler for the - <classname>FXButton</classname> such that when you click the button, it - causes the program to exit:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") -theButton = FXButton.new(theMainWindow, "Hello, World!") -<emphasis role="bold">theButton.connect(SEL_COMMAND) do |sender, selector, data| - exit -end</emphasis> -theApp.create - -theMainWindow.show - -theApp.run</programlisting> - - <para>Most FOX objects send out messages (also known as - <emphasis>events</emphasis>) when something interesting happens. FOX - messages have four important elements:</para> - - <orderedlist> - <listitem> - <para>The message <emphasis>sender</emphasis> is the object that sends - the message. In this case, the <classname>FXButton</classname> - instance is the sender.</para> - </listitem> - - <listitem> - <para>The message <emphasis>type</emphasis> is a predefined integer - constant that indicates what kind of event has occurred (i.e. why this - message is being sent). In this case, the message type is - <constant>SEL_COMMAND</constant>, which indicates that the command - associated with this widget should be invoked.</para> - </listitem> - - <listitem> - <para>The message <emphasis>identifier</emphasis> is another integer - constant that is used to distinguish between different messages of the - same type. For example, the message that tells a FOX window to make - itself visible is a <constant>SEL_COMMAND</constant> message with the - identifier <constant>FXWindow::ID_SHOW</constant> (where - <constant>ID_SHOW</constant> is a constant defined in the - <classname>FXWindow</classname> class). A different message - identifier, <constant>FXWindow::ID_HIDE</constant>, tells an - <classname>FXWindow</classname> instance to make itself - invisible.</para> - </listitem> - - <listitem> - <para>The message <emphasis>data</emphasis> is an object containing - message-specific information. For this case (the - <classname>FXButton</classname>'s <constant>SEL_COMMAND</constant> - message, there is no interesting message data, but we'll see other - kinds of messages where the message data is useful.</para> - </listitem> - </orderedlist> - - <para>For historical reasons, the message type and identifier are usually - packed into a single 32-bit unsigned integer known as the - <emphasis>selector</emphasis>, and this is the value that is passed into - the message handler block. Since we don't actually need to use the - <parameter>sender</parameter>, <parameter>selector</parameter> or - <parameter>data</parameter> arguments for this particular message handler, - we can just ignore them and shorten the code to:</para> - - <programlisting format="linespecific">theButton.connect(SEL_COMMAND) { exit }</programlisting> - - <para>Re-run the program and push the button to convince yourself that it - works.</para> - </section> - - <section> - <title>Adding a tool tip</title> - - <para>To wrap up this introduction, we'd like to add a few finishing - touches to the program. The first addition is to add a tool tip to the - button, such that when the mouse cursor hovers over the button for a short - while, it will pop up a little message describing what the button - does:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") - -theButton = FXButton.new(theMainWindow, "Hello, World!") -<emphasis role="bold">theButton.tipText = "Push Me!"</emphasis> -theButton.connect(SEL_COMMAND) { exit } - -<emphasis role="bold">FXToolTip.new(theApp)</emphasis> - -theApp.create - -theMainWindow.show - -theApp.run</programlisting> - - <para>There are two changes involved here. The first is to set the tool - tip text for the button using the <methodname>tipText</methodname> - accessor, and for this example we're setting the button's tip text to - "Push Me!". The second change is to create the (single) - <classname>FXToolTip</classname> instance for the application. Although - this program shows the <classname>FXToolTip</classname> instance being - created after the <classname>FXButton</classname>, it doesn't really - matter when you do it. You just want to have instantiated the - <classname>FXToolTip</classname> before you drop into the main event loop - by calling <methodname>FXApp#run</methodname>. If you run this version and - hover over the button for a second or so, you should see the tooltip pop - up:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello-with-tooltip.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </section> - - <section> - <title>Adding an icon</title> - - <para>The final change is to add an icon to the button to make things a - little more festive. FOX supports all of the popular image file formats - (e.g. BMP, GIF, JPEG, PNG and TIFF) and you can use any of them as icons - on buttons and labels. For this example, we'll use the one of the "Powered - By Ruby" images created by Hal Fulton (and posted at the <ulink - url="http://www.rubygarden.org/ruby?PoweredByRubyButtons">Ruby Garden - Wiki</ulink>):</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -theApp = FXApp.new - -theMainWindow = FXMainWindow.new(theApp, "Hello") - -theButton = FXButton.new(theMainWindow, "Hello, World!") -theButton.tipText = "Push Me!" -<emphasis role="bold">iconFile = File.open("pbr.jpg", "rb") -theButton.icon = FXJPGIcon.new(theApp, iconFile.read) -iconFile.close</emphasis> -theButton.connect(SEL_COMMAND) { exit } - -FXToolTip.new(theApp) - -theApp.create - -theMainWindow.show - -theApp.run</programlisting> - - <para>Here, <filename>pbr.jpg</filename> is the file name of the JPEG - image file. You want to be sure to open the file in - <emphasis>binary</emphasis> mode (i.e. including the "b" mode flag), - because there is a difference on the Windows platform. Since it's a JPEG - image, we need to use the <classname>FXJPGIcon</classname> class to - instantiate this icon. The first argument to - <methodname>FXJPGIcon.new</methodname> is just a reference to the - <classname>FXApp</classname> instance, and the second argument is the - contents of the image file. We associate this icon object with our button - using the button's <methodname>icon</methodname> accessor method. If you - run this example, you should see:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello-with-icon-1.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - - <para>When you have both text and an icon displayed on a button (or its - superclass, <classname>FXLabel</classname>) the default positioning is to - display the icon to the left of the text. For this particular example, - however, it would probably be more appropriate to display the icon - <emphasis>above</emphasis> the text. We can achieve this using the - button's <methodname>iconPosition</methodname> accessor method:</para> - - <programlisting format="linespecific">theButton.iconPosition = ICON_ABOVE_TEXT</programlisting> - - <para>If you re-run the program after adding this line, you should - see:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello-with-icon-2.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - - <para>The last change we're going to make is to make the icon transparent. - FOX allows you to specify that some regions of an icon should be treated - as "transparent", meaning that whatever's underneath them shows through. - FOX distinguishes those transparent regions from the non-transparent ones - using a transparency color, and any pixels in the original image that have - that color become transparent. In most cases, FOX can determine this - transparency color automatically (indeed, for image file formats like GIF - it's part of the image information). You can also specify the transparency - color explicitly if you like.</para> - - <para>For the icon we've chosen, it's pretty obvious that the transparency - color is white, but let's let FOX figure that out for us. We want to - activate two options for the icon:</para> - - <itemizedlist mark="bullet"> - <listitem> - <para>the <constant>IMAGE_ALPHACOLOR</constant> option, which tells - FOX that some regions of this image should be treated as transparent; - and,</para> - </listitem> - - <listitem> - <para>the <constant>IMAGE_ALPHAGUESS</constant> option, which tells - FOX to guess the appropriate transparency color using the colors used - in the four corners of the image.</para> - </listitem> - </itemizedlist> - - <para>To set these options, add this line to the program:</para> - - <programlisting format="linespecific">theButton.icon.options = IMAGE_ALPHACOLOR | IMAGE_ALPHAGUESS</programlisting> - - <para>and then re-run the program after making this change to see the - final result:</para> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata align="center" fileref="images/hello-with-icon-3.png" - format="PNG" /> - </imageobject> - </mediaobject> - </screenshot> - </section> -</chapter> diff --git a/users_guide/unicode.xml b/users_guide/unicode.xml deleted file mode 100644 index fb79a4c..0000000 --- a/users_guide/unicode.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<chapter id="unicode"> - <title>Unicode and FXRuby</title> - - <para>Beginning with version 1.6, FOX and FXRuby provide support for the - display of Unicode strings in FOX widgets. For some excellent discussion - about how to use Unicode in Ruby, I recommend Patrick Hall's article, <ulink - url="http://ruphus.com/blog/2005/06/11/ruby-and-unicode/">"Ruby and - Unicode"</ulink> and why the lucky stiff's follow-up article, <ulink - url="http://redhanded.hobix.com/inspect/closingInOnUnicodeWithJcode.html">"Closing - in on Unicode with Jcode"</ulink>. Here, we're going to make use of the - ideas in those articles to give a quick demonstration of how to use FXRuby's - support for Unicode.</para> - - <section> - <title>Basic Application</title> - - <para>Here's the original version of our "Hello, World!" program:</para> - - <programlisting format="linespecific">require 'fox16' - -include Fox - -application = FXApp.new("Hello", "FoxTest") -main = FXMainWindow.new(application, "Hello", nil, nil, DECOR_ALL) -FXButton.new(main, "&Hello, World!", nil, application, FXApp::ID_QUIT) -application.create() -main.show(PLACEMENT_SCREEN) -application.run() -</programlisting> - - <para>and here's the modified version:</para> - - <programlisting format="linespecific">require 'fox16' -<emphasis role="bold">require 'jcode'</emphasis> - -<emphasis role="bold">$KCODE = 'u'</emphasis> - -<emphasis role="bold">class UString < String - # Show u-prefix as in Python - def inspect; "u#{ super }" end - - # Count multibyte characters - def length; self.scan(/./).length end - - # Reverse the string - def reverse; self.scan(/./).reverse.join end -end - -module Kernel - def u( str ) - UString.new str.gsub(/U\+([0-9a-fA-F]{4,4})/u){["#$1".hex ].pack('U*')} - end -end</emphasis> - -include Fox - -<emphasis role="bold">question = u'U+00bfHabla espaU+00f1ol?'</emphasis> - -application = FXApp.new("Hello", "FoxTest") -main = FXMainWindow.new(application, "Hello", nil, nil, DECOR_ALL) -FXButton.new(main, <emphasis role="bold">question</emphasis>, nil, application, FXApp::ID_QUIT) -application.create() -main.show(PLACEMENT_SCREEN) -application.run() -</programlisting> - - <para>The <emphasis role="bold">jcode</emphasis> library (part of the - standard Ruby library) provides a number of extensions to Ruby's - <classname>String</classname> class, to ensure that its methods work - properly for non-ASCII character encodings. By setting the - <varname>$KCODE</varname> global variable to "u", we're telling Ruby which - character encoding it is that we're using (UTF-8).</para> - </section> -</chapter> -- GitLab