aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/doc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wx/doc')
-rw-r--r--lib/wx/doc/html/.gitignore0
-rw-r--r--lib/wx/doc/man3/.gitignore0
-rw-r--r--lib/wx/doc/overview.edoc235
-rw-r--r--lib/wx/doc/pdf/.gitignore0
-rw-r--r--lib/wx/doc/src/Makefile175
-rw-r--r--lib/wx/doc/src/book.xml48
-rw-r--r--lib/wx/doc/src/fascicules.xml15
-rw-r--r--lib/wx/doc/src/make.dep13
-rw-r--r--lib/wx/doc/src/notes.xml176
-rw-r--r--lib/wx/doc/src/part.xml38
-rw-r--r--lib/wx/doc/src/part_notes.xml37
-rw-r--r--lib/wx/doc/src/ref_man.src.xml36
12 files changed, 773 insertions, 0 deletions
diff --git a/lib/wx/doc/html/.gitignore b/lib/wx/doc/html/.gitignore
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/lib/wx/doc/html/.gitignore
diff --git a/lib/wx/doc/man3/.gitignore b/lib/wx/doc/man3/.gitignore
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/lib/wx/doc/man3/.gitignore
diff --git a/lib/wx/doc/overview.edoc b/lib/wx/doc/overview.edoc
new file mode 100644
index 0000000000..8bff6c34e1
--- /dev/null
+++ b/lib/wx/doc/overview.edoc
@@ -0,0 +1,235 @@
+ -*- html -*-
+
+ wx Documentation
+
+@author Dan Gudmundsson
+@copyright 2008-2009 Ericsson AB
+
+@title wx the erlang binding of wxWidgets
+
+@doc The <em>wx</em> application is an erlang binding
+of <em>wxWidgets</em>. This document describes the erlang mapping to
+wxWidgets and it's implementation. It is not a complete
+users guide to wxWidgets. If you need that, you will have to read the wxWidgets
+documentation instead. <em>wx</em> tries to keep a one-to-one mapping with
+the original api so that the original documentation and examples shall be
+as easy as possible to use.
+
+wxErlang examples and test suite can be found in the erlang src release.
+They can also provide some help on how to use the api.
+
+This is currently a very brief introduction to <em>wx</em>. The
+application is still under development, which means the interface may change,
+and the test suite currently have a poor coverage ratio.
+
+== Contents ==
+
+<ol>
+ <li>{@section Introduction}</li>
+ <li>{@section Multiple processes and memory handling}</li>
+ <li>{@section Event Handling}</li>
+ <li>{@section Acknowledgments}</li>
+</ol>
+
+== Introduction ==
+
+The original <em>wxWidgets</em> is an object-oriented (C++) api and
+that is reflected in the erlang mapping. In most cases each class in
+wxWidgets is represented as a module in erlang. This gives
+the <em>wx</em> application a huge interface, spread over several
+modules, and it all starts with the <em>wx</em>
+module. The <em>wx</em> module contains functions to create and
+destroy the gui, i.e. <code>wx:new/0</code>,<code>wx:destroy/0</code>, and
+some other useful functions.
+
+Objects or object references in <em>wx</em> should be seen as erlang
+processes rather then erlang terms. When you operate on them they can
+change state, e.g. they are not functional objects as erlang terms are.
+Each object has a type or rather a class, which is manipulated with
+the corresponding module or by sub-classes of that object. Type
+checking is done so that a module only operates on it's objects or
+inherited classes.
+
+An object is created with <em>new</em> and destroyed with
+<em>destroy</em>. Most functions in the classes are named the same
+as their C++ counterpart, except that for convenience, in erlang
+they start with a lowercase letter and the first argument is the
+object reference. Optional arguments are last and expressed as tagged
+tuples in any order.
+
+For example the <em>wxWindow</em> C++ class is implemented in the
+<em>wxWindow</em> erlang module and the
+member <em>wxWindow::CenterOnParent</em> is
+thus <em>wxWindow:centerOnParent</em>. The following C++ code:
+<pre>
+ wxWindow MyWin = new wxWindo();
+ MyWin.CenterOnParent(wxVERTICAL);
+ ...
+ delete MyWin;
+</pre>
+would in erlang look like:
+<pre>
+ MyWin = wxWindow:new(),
+ wxWindow:centerOnParent(MyWin, [{dir,?wxVERTICAL}]),
+ ...
+ wxWindow:destroy(MyWin),
+</pre>
+
+When you are reading wxWidgets documentation or the examples, you will
+notice that some of the most basic classes are missing in <em>wx</em>,
+they are directly mapped to corresponding erlang terms:
+
+<dl>
+ <dt><em>wxPoint</em> is represented by {Xcoord,Ycoord}</dt>
+ <dt><em>wxSize</em> is represented by {Width,Height}</dt>
+ <dt><em>wxRect</em> is represented by {Xcoord,Ycoord,Width,Height}</dt>
+ <dt><em>wxColour</em> is represented by {Red,Green,Blue[,Alpha]}</dt>
+ <dt><em>wxPoint</em> is represented by {Xcoord,Ycoord}</dt>
+ <dt><em>wxString</em> is represented by {@link //stdlib/unicode:charlist()}</dt>
+ <dt><em>wxGBPosition</em> is represented by {Row,Column}</dt>
+ <dt><em>wxGBSpan</em> is represented by {RowSpan,ColumnSPan}</dt>
+ <dt><em>wxGridCellCoords</em> is represented by {Row,Column}</dt>
+</dl>
+
+In the places where the erlang api differs from the original one it should
+be obvious from the erlang documentation which representation has
+been used. E.g. the C++ arrays and/or lists are sometimes represented
+as erlang lists and sometimes as tuples.
+
+Colours are represented with {Red,Green,Blue[,Alpha]}, the Alpha value
+is optional when used as an argument to functions, but it will always be
+returned from <em>wx</em> functions.
+
+Defines, enumerations and global variables exists in
+<code>wx.hrl</code> as defines. Most of these defines are constants
+but not all. Some are platform dependent and therefore the global
+variables must be instantiated during runtime. These will be acquired from
+the driver with a call, so not all defines can be used in matching
+statements. Class local enumerations will be prefixed with the class
+name and a underscore as in <code>ClassName_Enum</code>.
+
+Additionally some global functions, i.e. non-class functions, exist in
+the <c>wx_misc</c> module.
+
+<em>wxErlang</em> is implemented as a (threaded) driver and a rather direct
+interface to the C++ api, with the drawback that if the erlang
+programmer does an error, it might crash the emulator.
+
+Since the driver is threaded it requires a <em>smp</em> enabled emulator,
+that provides a thread safe interface to the driver.
+
+== Multiple processes and memory handling ==
+
+The intention is that each erlang application calls wx:new() once to
+setup it's gui which creates an environment and a memory mapping. To
+be able to use <em>wx</em> from several processes in your application,
+you must share the environment. You can get the active environment with
+<code>wx:get_env/0</code> and set it in the new processes
+with <code>wx:set_env/1</code>. Two processes or applications which
+have both called wx:new() will not be able use each others objects.
+
+<pre>
+ wx:new(),
+ MyWin = wxFrame:new(wx:null(), 42, "Example", []),
+ Env = wx:get_env(),
+ spawn(fun() ->
+ wx:set_env(Env),
+ %% Here you can do wx calls from your helper process.
+ ...
+ end),
+ ...
+</pre>
+
+When <code>wx:destroy/0</code> is invoked or when all processes in the
+application have died, the memory is deleted and all windows created
+by that application are closed.
+
+The <em>wx</em> application never cleans or garbage collects memory as
+long as the user application is alive. Most of the objects are deleted
+when a window is closed, or at least all the objects which have a parent
+argument that is non null. By using
+<code>wxCLASS:destroy/1</code> when possible you can avoid an
+increasing memory usage. This is especially important when
+<em>wxWidgets</em> assumes or recommends that you (or rather the C++
+programmer) have allocated the object on the stack since that will
+never be done in the erlang binding. For example <code>wxDC</code> class
+or its sub-classes or <code> wxSizerFlags</code>.
+
+Currently the dialogs show modal function freezes wxWidgets
+until the dialog is closed. That is intended but in erlang where you
+can have several gui applications running at the same time it causes
+trouble. This will hopefully be fixed in future <em>wxWidgets</em>
+releases.
+
+== Event Handling ==
+
+Event handling in <em>wx</em> differs most the from the original api.
+You must specify every event you want to handle in <em>wxWidgets</em>,
+that is the same in the erlang binding but can you choose to receive
+the events as messages or handle them with callback funs.
+
+Otherwise the event subscription is handled as <em>wxWidgets</em>
+dynamic event-handler connection. You subscribe to events of a certain
+type from objects with an <em>ID</em> or within a range of ID:s. The
+callback fun is optional, if not supplied the event will be sent to the
+process that called <em>connect/2</em>. Thus, a handler is a callback fun
+or a process which will receive an event message.
+
+Events are handled in order from bottom to top, in the widgets
+hierarchy, by the last subscribed handler first. Depending on
+if <code>wxEvent:skip()</code> is called the event will be handled by the
+other handler(s) afterwards. Most of the events have default event
+handler(s) installed.
+
+Message events looks like {@link wxEvtHandler:wx(). #wx{id=integer(),
+obj=wx:wxObject(), userData=term(), event=Rec} }. The <em>id</em> is
+the identifier of the object that received the event. The <em>obj</em>
+field contains the object that you used <em>connect</em> on.
+The <em>userData</em> field contains a user supplied term, this is an
+option to <em>connect</em>. And the <em>event</em> field contains a record
+with event type dependent information. The first element in the event
+record is always the type you subscribed to. For example if you
+subscribed to
+<em>key_up</em> events you will receive the
+<code>#wx{event=Event}</code> where <em>Event</em> will be a
+<em>wxKey</em> event record where <code>Event#wxKey.type =
+key_up</code>.
+
+In <em>wxWidgets</em> the developer have to call
+<code>wxEvent:skip()</code> if he wants the event to be processed by
+other handlers. You can do the same in <em>wx</em> if you use
+callbacks. If you want the event as messages you just don't supply a
+callback and you can set the <em>skip</em> option in <em>connect</em>
+call to true or false, the default it is false. True means that you get
+the message but let the subsequent handlers also handle the event. If
+you want to change this behavior dynamically you must use callbacks and
+call <code>wxEvent:skip()</code>.
+
+Callback event handling is done by using the optional
+callback <em>fun/2</em> when attaching the
+handler. The <em>fun(#wx{},wxObject()</em> must take two arguments
+where the first is the same as with message events described above and
+the second is an object reference to the actual event object. With the
+event object you can call <code>wxEvent:skip()</code> and access all
+the data. When using callbacks you must call <code>wxEvent:skip()</code>
+by yourself if you want any of the events to be forwarded to the
+following handlers. The actual event objects are deleted after
+the <em>fun</em> returns.
+
+The callbacks are always invoked by another process and have
+exclusive usage of the gui when invoked. This means that a callback fun
+can not use the process dictionary and should not make calls to other
+processes. Calls to another process inside a callback fun may cause a
+deadlock if the other process is waiting on completion of his call to
+the gui.
+
+== Acknowledgments ==
+
+Mats-Ola Persson wrote the initial <em>wxWidgets</em> binding as part
+of his master thesis. The current version is a total re-write but many
+ideas have been reused. The reason for the re-write was mostly due to
+the limited requirements he had been given by us.
+
+Also thanks to the <em>wxWidgets</em> team that develops and supports
+it so we have something to use.
+
diff --git a/lib/wx/doc/pdf/.gitignore b/lib/wx/doc/pdf/.gitignore
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/lib/wx/doc/pdf/.gitignore
diff --git a/lib/wx/doc/src/Makefile b/lib/wx/doc/src/Makefile
new file mode 100644
index 0000000000..d18daa753a
--- /dev/null
+++ b/lib/wx/doc/src/Makefile
@@ -0,0 +1,175 @@
+#
+# %CopyrightBegin%
+#
+# Copyright Ericsson AB 2008-2009. All Rights Reserved.
+#
+# The contents of this file are subject to the Erlang Public License,
+# Version 1.1, (the "License"); you may not use this file except in
+# compliance with the License. You should have received a copy of the
+# Erlang Public License along with this software. If not, it can be
+# retrieved online at http://www.erlang.org/.
+#
+# Software distributed under the License is distributed on an "AS IS"
+# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+# the License for the specific language governing rights and limitations
+# under the License.
+#
+# %CopyrightEnd%
+#
+
+# ----------------------------------------------------
+# Application version
+# ----------------------------------------------------
+include ../../vsn.mk
+include ../../config.mk
+APPLICATION=wxErlang
+
+ErlMods = wx.erl wx_object.erl
+
+GenMods = $(shell ls ../../src/gen | grep 'wx[A-Z].*\.erl') \
+ wx_misc.erl \
+ glu.erl \
+ gl.erl
+
+# GenMods = \
+# wx_misc.erl \
+# glu.erl \
+# gl.erl
+
+
+ModsNoExt = $(ErlMods:%.erl=%) $(GenMods:%.erl=%)
+
+ifneq ($(INSIDE_ERLSRC),true)
+# ----------------------------------------------------
+# Standalone release
+# ----------------------------------------------------
+Mods = $(ErlMods:%=../../src/%) $(GenMods:%=../../src/gen/%)
+HTML_FILES = $(ErlMods:%.erl=../html/%.html) $(GenMods:%.erl=../html/%.html)
+
+GIF_FILES = ../html/erlang.png
+EXTRA_FILES = ../html/index.html \
+ ../html/modules-frame.html \
+ ../html/overview-summary.html \
+ ../html/packages-frame.html
+
+HTML_STYLESHEET_FILES = ../html/stylesheet.css
+
+html: ../html/edoc-info
+
+docs: ../html/edoc-info
+
+../html/edoc-info: $(Mods)
+ @echo "Building documentation."
+ -mkdir -p ../html
+ erl -noshell -pa doc -run edoc_run application "wx" '"../.."' '[{private,true},no_packages,{dir,"../html"}, {sort_functions,false}]'
+
+clean:
+ rm -f *~
+ (cd ../html; rm -f *.html *.css erlang.png edoc-info)
+
+opt debug:
+else
+# Release directory specification
+# ----------------------------------------------------
+# Inside the erlang src
+# ----------------------------------------------------
+
+XML_APPLICATION_FILES = ref_man.xml
+XML_REF3_FILES = $(ErlMods:%.erl=%.xml) $(GenMods:%.erl=%.xml)
+
+XML_PART_FILES = part.xml part_notes.xml
+XML_CHAPTER_FILES = chapter.xml
+XML_NOTES_FILES = notes.xml
+
+BOOK_FILES = book.xml
+
+XML_FILES = \
+ $(BOOK_FILES) $(XML_CHAPTER_FILES) \
+ $(XML_PART_FILES) $(XML_REF3_FILES) \
+ $(XML_NOTES_FILES) $(XML_APPLICATION_FILES)
+
+
+# ----------------------------------------------------
+INFO_FILE = ../../info
+
+HTML_FILES = \
+ $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \
+ $(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html)
+
+MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3)
+
+HTML_REF_MAN_FILE = $(HTMLDIR)/index.html
+
+TOP_PDF_FILE = $(PDFDIR)/$(APPLICATION)-$(VSN).pdf
+
+# ----------------------------------------------------
+# FLAGS
+# ----------------------------------------------------
+XML_FLAGS +=
+DVIPS_FLAGS +=
+
+# ----------------------------------------------------
+# Targets
+# ----------------------------------------------------
+
+docs: pdf html man
+
+$(TOP_PDF_FILE): $(XML_FILES)
+
+pdf: $(TOP_PDF_FILE)
+
+html: gifs $(HTML_REF_MAN_FILE)
+
+man: $(MAN3_FILES)
+
+gifs: $(GIF_FILES:%=$(HTMLDIR)/%)
+
+xml: $(XML_REF3_FILES) $(XML_CHAPTER_FILES)
+
+ref_man.xml: ref_man.src.xml
+ @echo Preparing ref_man.xml
+ @cat ref_man.src.xml > ref_man.xml
+ @for d in $(ModsNoExt); do \
+ echo " <xi:include href=\"$$d.xml\"/>" >> ref_man.xml ; \
+ done
+ @echo "</application>" >> ref_man.xml
+ @echo
+
+$(ErlMods:%.erl=%.xml):
+ docb_gen -def vsn $(VSN) -sort_functions false ../../src/$(@:%.xml=%.erl)
+$(GenMods:%.erl=%.xml):
+ docb_gen -def vsn $(VSN) -sort_functions false ../../src/gen/$(@:%.xml=%.erl)
+
+$(XML_CHAPTER_FILES):
+ docb_gen -chapter -def vsn $(VSN) ../overview.edoc
+
+debug opt:
+
+clean clean_docs:
+ rm -rf $(HTMLDIR)/*
+ rm -f $(MAN3DIR)/*
+ rm -f $(TOP_PDF_FILE) $(TOP_PDF_FILE:%.pdf=%.fo)
+ rm -f errs core *~ ../html/edoc-info
+ rm -f $(XML_REF3_FILES) $(XML_CHAPTER_FILES) *.html
+
+# ----------------------------------------------------
+# Release Target
+# ----------------------------------------------------
+include $(ERL_TOP)/make/otp_release_targets.mk
+
+
+release_docs_spec: docs
+ $(INSTALL_DIR) $(RELSYSDIR)/doc/pdf
+ $(INSTALL_DATA) $(TOP_PDF_FILE) $(RELSYSDIR)/doc/pdf
+ $(INSTALL_DIR) $(RELSYSDIR)/doc/html
+ $(INSTALL_DATA) $(HTMLDIR)/* \
+ $(RELSYSDIR)/doc/html
+ $(INSTALL_DATA) $(INFO_FILE) $(RELSYSDIR)
+ $(INSTALL_DIR) $(RELEASE_PATH)/man/man3
+ $(INSTALL_DATA) $(MAN3_FILES) $(RELEASE_PATH)/man/man3
+
+release_spec:
+
+release_tests_spec:
+
+endif
diff --git a/lib/wx/doc/src/book.xml b/lib/wx/doc/src/book.xml
new file mode 100644
index 0000000000..d517892776
--- /dev/null
+++ b/lib/wx/doc/src/book.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE book SYSTEM "book.dtd">
+
+<book xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header titlestyle="normal">
+ <copyright>
+ <year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>wxErlang</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <insidecover>
+ </insidecover>
+ <pagetext>wxErlang</pagetext>
+ <preamble>
+ <contents level="2"></contents>
+ </preamble>
+ <parts lift="no">
+ <xi:include href="part.xml"/>
+ </parts>
+ <applications>
+ <xi:include href="ref_man.xml"/>
+ </applications>
+ <releasenotes>
+ <xi:include href="notes.xml"/>
+ </releasenotes>
+ <listofterms></listofterms>
+ <index></index>
+</book>
+
diff --git a/lib/wx/doc/src/fascicules.xml b/lib/wx/doc/src/fascicules.xml
new file mode 100644
index 0000000000..1b9d6bc94d
--- /dev/null
+++ b/lib/wx/doc/src/fascicules.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE fascicules SYSTEM "fascicules.dtd">
+
+<fascicules>
+ <fascicule file="part" href="part_frame.html" entry="no">
+ User's Guide
+ </fascicule>
+ <fascicule file="ref_man" href="ref_man_frame.html" entry="yes">
+ Reference Manual
+ </fascicule>
+ <fascicule file="part_notes" href="part_notes_frame.html" entry="no">
+ Release Notes
+ </fascicule>
+</fascicules>
+
diff --git a/lib/wx/doc/src/make.dep b/lib/wx/doc/src/make.dep
new file mode 100644
index 0000000000..91001be438
--- /dev/null
+++ b/lib/wx/doc/src/make.dep
@@ -0,0 +1,13 @@
+# ----------------------------------------------------
+# >>>> Do not edit this file <<<<
+# This file was automaticly generated by
+# /home/otp/bin/docdepend
+# ----------------------------------------------------
+
+
+# ----------------------------------------------------
+# TeX files that the DVI file depend on
+# ----------------------------------------------------
+
+book.dvi: book.tex chapter.tex part.tex
+
diff --git a/lib/wx/doc/src/notes.xml b/lib/wx/doc/src/notes.xml
new file mode 100644
index 0000000000..f9f16defd3
--- /dev/null
+++ b/lib/wx/doc/src/notes.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE chapter SYSTEM "chapter.dtd">
+
+<chapter>
+ <header>
+ <copyright>
+ <year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>wxErlang Release Notes</title>
+ <prepared>otp_appnotes</prepared>
+ <docno>nil</docno>
+ <date>nil</date>
+ <rev>nil</rev>
+ <file>notes.xml</file>
+ </header>
+ <p>This document describes the changes made to the wxErlang
+ application.</p>
+
+<section><title>Wx 0.98.4</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Added wx_object improvements from Mazen.</p> <p>Fixed
+ pid issues, reported by Mazen.</p> <p>Added wxLogNull
+ class, reported by Amit Murthy.</p> <p>Various configure
+ fixes.</p>
+ <p>
+ Own Id: OTP-8243 Aux Id: seq11418 </p>
+ </item>
+ <item>
+ <p>
+ The documentation is now built with open source tools
+ (xsltproc and fop) that exists on most platforms. One
+ visible change is that the frames are removed.</p>
+ <p>
+ Own Id: OTP-8250</p>
+ </item>
+ <item>
+ <p>
+ wx now builds with wxWidgets 2.8.4 or a later 2.8
+ release, thanks Nico Kruber.</p>
+ <p>
+ Own Id: OTP-8292</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Wx 0.98.3</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Added wxListCtrl sorting and build fixes supplied by Paul
+ Hampson. Thanks.</p>
+ <p>
+ Own Id: OTP-8126</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>wxHtmlWindow class implemented.</p> <p>All exceptions
+ from callbacks are now catched and written to the
+ log.</p> <p>Some defines where wrong in 'wx.hrl'.</p>
+ <p><c>wx:batch/1</c> and friends could hang forever if
+ for instance a breakpoint was set inside the fun. That
+ caused all wx applications to hang.</p> <p>Added missing
+ wxAuiPaneInfo constructor and destructor.</p> <p>Added
+ wxAuiNotebookEvent and wxAuiManagerEvent.</p> <p>Calling
+ non supported wxWidgets functions hanged instead of
+ crashed.</p> <p>Update OpenGL to version 3.1 and added
+ some of the missing glu functions.</p> <p>Fixed
+ wxRadioBox which inherited the wrong class, thanks Atilla
+ Erdodi.</p>
+ <p>
+ Own Id: OTP-8083</p>
+ </item>
+ <item>
+ <p>
+ Removed some of the automatic garbage collecting after
+ application exit, user will get a warning instead so he
+ can correct the code.</p>
+ <p>
+ Own Id: OTP-8138</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Wx 0.98.2</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Olle Mattson have made a large demo, see
+ <c>examples/demo/</c>, that triggered the following bugs
+ and new features:</p> <p>New book controls.</p> <p>Added
+ wxToolbar:addTool/6.</p> <p>Empty binaries will be used
+ to indicate NULL where applicable.</p>
+ <p>
+ Own Id: OTP-7943</p>
+ </item>
+ <item>
+ <p>Applied patch from Nico Kruber,
+ which fixes building on some wxwidgets installations.
+ </p>
+ <p>Open source</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+ <section><title>Wx 0.98.1</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Added <c>xrcctrl/3</c> to wxXmlResource and added a
+ resource example.</p> <p>Added several event types and
+ events records and fixed a couple of event related
+ bugs.</p> <p>Event callbacks can now use
+ <c>wxEvtHandler:connect/2</c>.</p> <p>Error handling and
+ debugging aid have been improved.</p> <p>Added
+ wxSplitterWindow and wxGauge:pulse and a couple of
+ missing macros in <c>wx.hrl</c>.</p> <p>Thanks to Steve
+ Davis for feedback and bug reports.</p>
+ <p>
+ Own Id: OTP-7875</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+
+ <section><title>Wx 0.98</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ A first beta release of wxErlang.</p>
+ <p>
+ Own Id: OTP-7859</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+</chapter>
+
diff --git a/lib/wx/doc/src/part.xml b/lib/wx/doc/src/part.xml
new file mode 100644
index 0000000000..168add1a3c
--- /dev/null
+++ b/lib/wx/doc/src/part.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE part SYSTEM "part.dtd">
+
+<part xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>wxErlang User's Guide</title>
+ <prepared>Dan Gudmundsson</prepared>
+ <docno></docno>
+ <date>2009-03-09</date>
+ <rev>1.0</rev>
+ <file>part.xml</file>
+ </header>
+ <description>
+ <p>The <em>wxErlang</em> application is an api for writing graphical user
+ interfaces with wxWidgets.
+ </p>
+ </description>
+ <xi:include href="chapter.xml"/>
+</part>
+
diff --git a/lib/wx/doc/src/part_notes.xml b/lib/wx/doc/src/part_notes.xml
new file mode 100644
index 0000000000..539ced5f1d
--- /dev/null
+++ b/lib/wx/doc/src/part_notes.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE part SYSTEM "part.dtd">
+
+<part xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>wxErlang Release Notes</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <description>
+ <p>The <em>wxErlang</em> application is an api for writing graphical user
+ interfaces with wxWidgets.
+ </p>
+ </description>
+ <xi:include href="notes.xml"/>
+</part>
+
diff --git a/lib/wx/doc/src/ref_man.src.xml b/lib/wx/doc/src/ref_man.src.xml
new file mode 100644
index 0000000000..77fd16b050
--- /dev/null
+++ b/lib/wx/doc/src/ref_man.src.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE application SYSTEM "application.dtd">
+
+<application xmlns:xi="http://www.w3.org/2001/XInclude">
+ <header>
+ <copyright>
+ <year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>wxErlang Reference Manual</title>
+ <prepared></prepared>
+ <docno></docno>
+ <date></date>
+ <rev></rev>
+ </header>
+ <description>
+ <p>The <em>wxErlang</em> application is an api for writing graphical user
+ interfaces with wxWidgets.
+ </p>
+ </description>
+
+